Sobes.tech
Junior — Middle

Cum se determină tipul corect de cheie pentru utilizarea într-un dicționar?

sobes.tech AI

Răspuns de la AI

În iOS (Swift), cheia pentru un dicționar trebuie să respecte protocolul Hashable. Aceasta înseamnă că cheia trebuie să poată calcula o valoare hash și să fie comparată pentru egalitate, astfel încât dicționarul să poată stoca și căuta valorile în mod eficient.

De exemplu, tipurile standard precum String, Int, UUID implementează deja Hashable și sunt potrivite pentru utilizare ca chei.

Dacă creați un tip personalizat pentru cheie, trebuie să implementați protocolul Hashable:

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

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

Prin urmare, tipul corect pentru cheie este cel care:

  • implementează Hashable;
  • are valori unice pentru chei, pentru a evita coliziunile;
  • este imuabil (este mai bine să folosiți structuri sau proprietăți imuabile).