Sobes.tech
Junior — Middle

Peut-on utiliser une structure de données complexe comme clé dans un dictionnaire?

sobes.tech IA

Réponse de l'IA

Dans les dictionnaires (Dictionary) en iOS (Swift), les clés ne peuvent être que des types conformes au protocole Hashable. Cela signifie qu'une structure de données complexe peut être une clé si elle implémente le hachage et la comparaison d'égalité.

Par exemple, si vous avez une structure :

struct Point: Hashable {
    let x: Int
    let y: Int
}

vous pouvez utiliser Point comme clé dans un dictionnaire :

var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Point A"

Si la structure ne correspond pas à Hashable, elle ne peut pas être utilisée comme clé. Dans ce cas, il faut soit ajouter la conformité au protocole, soit utiliser un autre type de clé.