Sobes.tech
Назад к вопросам
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, его нельзя использовать в качестве ключа словаря. Значения словаря могут быть любыми типами.