Sobes.tech
Junior — Middle

Quels types de données sont valides comme clé pour un dictionnaire ou une table de hachage?

sobes.tech IA

Réponse de l'IA

En iOS (Swift), la clé pour un dictionnaire (Dictionary) peut être n'importe quel type conforme au protocole Hashable. Cela signifie que la clé doit pouvoir calculer un code de hachage et supporter la comparaison d'égalité.

Les types qui par défaut sont conformes à Hashable incluent :

  • Types standard : Int, String, Double, Bool
  • Énumérations (enum), si toutes leurs valeurs associées le sont aussi
  • Structures (struct), si toutes leurs propriétés le sont

Exemple :

let dict: [String: Int] = ["apple": 3, "banana": 5]

Si vous souhaitez utiliser votre propre type comme clé, vous devez implémenter le protocole Hashable :

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

let peopleDict: [Person: String] = [Person(id: 1, name: "John"): "Developer"]