Back to questions
Wildberries
Junior — Middle
74
Какие шаги необходимо предпринять, чтобы использовать сложную структуру как ключ в словаре?
Companies where asked
Answer from AI
sobes.tech AI
Чтобы использовать сложную структуру (например, собственный класс или структуру) в качестве ключа в словаре (Dictionary) в Swift, необходимо, чтобы этот тип соответствовал протоколу Hashable. Это значит, что структура должна иметь корректно реализованный метод вычисления хэш-кода и сравнения на равенство.
Пример:
struct Person: Hashable {
let firstName: String
let lastName: String
// Компилятор автоматически сгенерирует hash(into:) и ==, если все свойства Hashable
}
var dict: [Person: String] = [:]
dict[Person(firstName: "Иван", lastName: "Иванов")] = "Пример значения"
Если структура содержит свойства, которые не соответствуют Hashable, нужно самостоятельно реализовать методы hash(into:) и ==.
Таким образом, шаги:
- Убедиться, что все свойства структуры соответствуют
Hashable. - Сделать структуру или класс соответствующим протоколу
Hashable. - Использовать эту структуру как ключ в словаре.