Sobes.tech
Junior — Middle

Poate fi utilizată o structură de date complexă ca și cheie într-un dicționar?

sobes.tech AI

Răspuns de la AI

În dicționarele (Dictionary) din iOS (Swift), cheile pot fi doar de tipuri care respectă protocolul Hashable. Aceasta înseamnă că o structură de date complexă poate fi o cheie dacă implementează hashing-ul și compararea pentru egalitate.

De exemplu, dacă ai o structură:

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

poți folosi Point ca cheie într-un dicționar:

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

Dacă structura nu respectă Hashable, nu poate fi folosită ca cheie. În acest caz, trebuie să adaugi conformitatea la protocol sau să folosești un alt tip de cheie.