Junior — Middle
Koji uslovi moraju biti ispunjeni da bi objekat mogao da se koristi kao ključ u rečniku?
sobes.tech АИ
Одговор од АИ
В iOS (и в целом в Swift) для использования объекта в качестве ключа в словаре (Dictionary) он должен удовлетворять протоколу Hashable. Это значит, что объект должен:
- Иметь стабильный и уникальный хэш-код, который не меняется во время жизни объекта.
- Реализовывать метод
hash(into:), который добавляет компоненты объекта в хэш-функцию. - Реализовывать оператор равенства
==, чтобы словарь мог сравнивать ключи.
Пример:
struct Person: Hashable {
let id: Int
let name: String
}
let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]
Таким образом, ключи должны быть хешируемыми и сравнимыми для корректной работы словаря.