Sobes.tech
Junior — Middle

Ce condiții trebuie îndeplinite pentru ca un obiect să poată fi utilizat ca cheie într-un dicționar?

sobes.tech AI

Răspuns de la AI

În iOS (și în Swift în general), pentru a utiliza un obiect ca și cheie într-un dicționar (Dictionary), acesta trebuie să îndeplinească protocolul Hashable. Aceasta înseamnă că obiectul trebuie:

  • Să aibă un cod hash stabil și unic, care să nu se schimbe pe durata vieții obiectului.
  • Să implementeze metoda hash(into:), care adaugă componentele obiectului în funcția de hash.
  • Să implementeze operatorul de egalitate ==, astfel încât dicționarul să poată compara cheile.

Exemplu:

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

let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]

Prin urmare, cheile trebuie să fie hashabile și comparabile pentru funcționarea corectă a dicționarului.