Junior — Middle
Hogyan határozzuk meg a helyes kulcstípust egy szótárban?
sobes.tech MI
Válasz az MI-től
iOS (Swift) esetén a szótár kulcsának meg kell felelnie a Hashable protokollnak. Ez azt jelenti, hogy a kulcsnak képesnek kell lennie hash-érték számítására és egyenlőség szerint összehasonlítására, hogy a szótár hatékonyan tudja tárolni és keresni az értékeket.
Például, az olyan alapvető típusok, mint a String, Int, UUID már implementálják a Hashable-t, és alkalmasak kulcsként.
Ha saját típusú kulcsot hoz létre, akkor implementálnia kell a Hashable protokollt:
struct User: Hashable {
let id: Int
let name: String
}
var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"
Tehát, a helyes kulcstípus az, amely:
- implementálja a
Hashable-t; - egyedi értékekkel rendelkezik a kulcsok számára, hogy elkerülje az ütközéseket;
- változatlan (jobb struktúrákat vagy változatlan tulajdonságokat használni).