Sobes.tech
Junior — Middle

Kan een complexe datastructuur worden gebruikt als sleutel in een woordenboek?

sobes.tech AI

Antwoord van AI

In dictionaries (Dictionary) in iOS (Swift), kunnen de sleutels alleen van typen zijn die voldoen aan het protocol Hashable. Dit betekent dat een complexe datastructuur een sleutel kan zijn als deze hashing en vergelijking op gelijkheid implementeert.

Bijvoorbeeld, als je een structuur hebt:

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

kun je Point gebruiken als sleutel in een woordenboek:

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

Als de structuur niet voldoet aan Hashable, kan deze niet als sleutel worden gebruikt. In dat geval moet je ofwel de conformiteit aan de protocol toevoegen of een ander type sleutel gebruiken.