Junior — Middle
Czy można użyć złożonej struktury danych jako klucza w słowniku?
sobes.tech AI
Odpowiedź od AI
W słownikach (Dictionary) w iOS (Swift) klucze mogą być tylko typami, które spełniają protokół Hashable. Oznacza to, że złożona struktura danych może być kluczem, jeśli implementuje funkcję haszowania i porównanie równości.
Na przykład, jeśli masz strukturę:
struct Point: Hashable {
let x: Int
let y: Int
}
możesz użyć Point jako klucza w słowniku:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Punkt A"
Jeśli struktura nie spełnia Hashable, nie można jej używać jako klucza. W takim przypadku należy albo dodać zgodność z protokołem, albo użyć innego typu klucza.