Junior — Middle
Welche Bedingungen müssen erfüllt sein, damit ein Objekt als Schlüssel in einem Wörterbuch verwendet werden kann?
sobes.tech KI
Antwort von AI
В 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"]
Таким образом, ключи должны быть хешируемыми и сравнимыми для корректной работы словаря.