Sobes.tech
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).