Sobes.tech
Junior — Middle

Може ли да използвате собствен тип данни като ключ за речник или хеш таблица?

sobes.tech AI

Отговор от AI

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

Пример:

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

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

Ако вашият тип не съответства на Hashable, не можете да го използвате като ключ в речник.