Sobes.tech
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.