Junior — Middle
Comment implémenter l'utilisation d'objets personnalisés comme clés lors de la manipulation de dictionnaires?
sobes.tech IA
Réponse de l'IA
Pour utiliser des objets personnalisés comme clés dans des dictionnaires (par exemple, dans Swift Dictionary), ces objets doivent respecter les protocoles Hashable et Equatable.
Cela signifie que la classe ou la structure doit implémenter des méthodes pour calculer la valeur de hachage et vérifier l'égalité des objets.
Exemple en Swift :
struct User: Hashable {
let id: Int
let name: String
func hash(into hasher: inout Hasher) {
hasher.combine(id)
}
static func == (lhs: User, rhs: User) -> Bool {
return lhs.id == rhs.id
}
}
var dict: [User: String] = [:]
let user1 = User(id: 1, name: "Alice")
dict[user1] = "Admin"
Dans cet exemple, la clé du dictionnaire est un objet User, identifié de manière unique par id. La mise en œuvre de hash(into:) et == permet de stocker et de rechercher des objets dans le dictionnaire de manière correcte.