Назад к вопросам
Wildberries
Junior — Middle
80
Как определить правильный тип ключа для использования в словаре?
Компании, где спрашивали
Touch Instinct
Ответ от нейросети
sobes.tech AI
В iOS (Swift) ключ для словаря должен соответствовать протоколу Hashable. Это значит, что ключ должен иметь возможность вычислять хэш-значение и сравниваться на равенство, чтобы словарь мог эффективно хранить и искать значения.
Например, стандартные типы, такие как String, Int, UUID, уже реализуют Hashable и подходят для использования в качестве ключей.
Если вы создаёте собственный тип для ключа, нужно реализовать протокол Hashable:
struct User: Hashable {
let id: Int
let name: String
}
var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"
Таким образом, правильный тип ключа — это тип, который:
- реализует
Hashable; - имеет уникальные значения для ключей, чтобы избежать коллизий;
- является неизменяемым (лучше использовать структуры или неизменяемые свойства).