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