Sobes.tech
Back to questions
Junior — Middle
62

Можно ли использовать собственный тип данных в качестве ключа для словаря или хэш-таблицы?

Answer from AI

sobes.tech AI

В Swift можно использовать собственные типы данных в качестве ключей для словаря (Dictionary), но при этом тип должен соответствовать протоколу Hashable. Это означает, что ваш тип должен уметь вычислять хэш-значение и корректно реализовывать сравнение на равенство.

Пример:

struct Person: Hashable {
    let id: Int
    let name: String
}

var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Иван")] = "Разработчик"

Если ваш тип не соответствует Hashable, то его нельзя использовать в качестве ключа словаря.