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