Назад к вопросам
Junior — Middle
92
Какие условия должны быть выполнены для того, чтобы объект можно было использовать в качестве ключа в словаре?
Ответ от нейросети
sobes.tech 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"]
Таким образом, ключи должны быть хешируемыми и сравнимыми для корректной работы словаря.