Junior — Middle
Come determinare il tipo corretto di chiave da usare in un dizionario?
sobes.tech AI
Risposta dell'AI
In iOS (Swift), la chiave di un dizionario deve conformarsi al protocollo Hashable. Ciò significa che la chiave deve poter calcolare un valore hash e confrontarsi per uguaglianza, affinché il dizionario possa memorizzare e cercare i valori in modo efficiente.
Ad esempio, tipi standard come String, Int, UUID implementano già Hashable e sono adatti come chiavi.
Se crei un tipo personalizzato per la chiave, devi implementare il protocollo Hashable:
struct User: Hashable {
let id: Int
let name: String
}
var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"
Quindi, il tipo di chiave corretto è quello che:
- implementa
Hashable; - ha valori unici per le chiavi, per evitare collisioni;
- è immutabile (è meglio usare strutture o proprietà immutabili).