Sobes.tech
Junior — Middle

Hoe bepaal je het juiste type sleutel voor gebruik in een woordenboek?

sobes.tech AI

Antwoord van AI

In iOS (Swift) moet de sleutel voor een woordenboek voldoen aan het protocol Hashable. Dit betekent dat de sleutel een hash-waarde moet kunnen berekenen en op gelijkheid moet kunnen worden vergeleken, zodat het woordenboek waarden efficiënt kan opslaan en zoeken.

Bijvoorbeeld, standaardtypen zoals String, Int, UUID implementeren al Hashable en zijn geschikt voor gebruik als sleutels.

Als je een eigen type voor de sleutel maakt, moet je het protocol Hashable implementeren:

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

var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"

Dus, het juiste type voor de sleutel is er een dat:

  • Hashable implementeert;
  • unieke waarden voor de sleutels heeft, om botsingen te voorkomen;
  • onveranderlijk is (het is beter om structuren of onveranderlijke eigenschappen te gebruiken).