Я работаю над учебником iOS swift Tetris * и завершаю и работаю. Но я озадачен одним аспектом - протоколом Hashable. Функция:
class Block: Hashable, Printable {
[...]
var hashValue: Int { return self.column ^ self.row }
Строки идут 0..9 и Столбцы 0..20. В заметках говорится об этой функции "Мы возвращаем исключительные или наши свойства строки и столбца для создания уникального целого для каждого блока". Но я понимаю, что 0 ^ 1 будет таким же, как 1 ^ 0 и т.д. Я бы хотел знать, является ли проблема проблемой, если функция Хэша не уникальна, или столкновение в целом нормально? Как я уже сказал, приложение работает нормально...
* https://www.bloc.io/tutorials/swiftris-build-your-first-ios-game-with-swift#!/chapters/681