Sobes.tech
Junior — Middle

Ako určiť správny typ kľúča na použitie v slovníku?

sobes.tech AI

Odpoveď od AI

V iOS (Swift) musí byť kľúč pre slovník v súlade s protokolom Hashable. To znamená, že kľúč musí byť schopný vypočítať hash hodnotu a porovnať sa na rovnosť, aby slovník mohol efektívne ukladať a vyhľadávať hodnoty.

Napríklad, štandardné typy ako String, Int, UUID už implementujú Hashable a sú vhodné na použitie ako kľúče.

Ak vytvárate vlastný typ pre kľúč, musíte implementovať protokol Hashable:

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

var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"

Správny typ kľúča je teda taký, ktorý:

  • implementuje Hashable;
  • má jedinečné hodnoty pre kľúče, aby sa predišlo kolíziám;
  • je nemenný (je lepšie používať štruktúry alebo nemenné vlastnosti).