Junior — Middle
Ar galima naudoti sudėtingą duomenų struktūrą kaip raktą žodyne?
sobes.tech AI
Atsakymas iš AI
iOS (Swift) žodynuose (Dictionary) raktai gali būti tik tie tipai, kurie atitinka Hashable protokolą. Tai reiškia, kad sudėtinga duomenų struktūra gali būti raktas, jei ji įgyvendina maišą ir lyginimą dėl lygybės.
Pavyzdžiui, jei turite struktūrą:
struct Point: Hashable {
let x: Int
let y: Int
}
galite naudoti Point kaip raktą žodyne:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Taškas A"
Jei struktūra neatitinka Hashable, jos negalima naudoti kaip raktą. Tokiu atveju, turite arba pridėti atitiktį protokolui, arba naudoti kitą raktų tipą.