Назад к вопросам
Разумные решения
Junior — Middle
75
Как определить, какие объекты могут быть добавлены в структуру данных типа словарь?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В iOS (Swift) для использования объекта в качестве ключа в словаре (Dictionary) он должен соответствовать протоколу Hashable. Это означает, что объект должен иметь уникальный хэш-код и уметь сравниваться на равенство.
Например, стандартные типы, такие как String, Int, UUID уже соответствуют Hashable и могут быть ключами словаря. Пользовательские типы нужно явно сделать Hashable:
struct Person: Hashable {
let id: Int
let name: String
}
let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]
Если объект не соответствует Hashable, его нельзя использовать в качестве ключа словаря. Значения словаря могут быть любыми типами.