Sobes.tech
Junior — Middle

Saját adattípust használhatunk kulcsként szótárhoz vagy hash-táblához?

sobes.tech MI

Válasz az MI-től

Swiftben saját adattípusokat használhat kulcsként szótárakhoz (Dictionary), de ekkor a típusnak meg kell felelnie a Hashable protokollnak. Ez azt jelenti, hogy a típusnak képesnek kell lennie hash érték számítására és helyes egyenlőség-ellenőrzés végrehajtására.

Példa:

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

var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Иван")] = "Fejlesztő"

Ha a típus nem felel meg a Hashable-nak, nem használhatja kulcsként a szótárban.