Junior — Middle
Lze použít složitou datovou strukturu jako klíč ve slovníku?
sobes.tech AI
Odpověď od AI
V slovnících (Dictionary) v iOS (Swift) mohou být klíče pouze typy, které odpovídají protokolu Hashable. To znamená, že složitá datová struktura může být klíčem, pokud implementuje hashování a porovnání na rovnost.
Například, pokud máte strukturu:
struct Point: Hashable {
let x: Int
let y: Int
}
můžete použít Point jako klíč ve slovníku:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Bod A"
Pokud struktura nesplňuje Hashable, nelze ji použít jako klíč. V takovém případě je třeba buď přidat shodu s protokolem, nebo použít jiný typ klíče.