Sobes.tech
Junior — Middle

Kādi nosacījumi jāizpilda, lai objekts varētu tikt izmantots kā atslēga vārdnīcā?

sobes.tech AI

Atbilde no AI

iOS (un kopumā Swift) objekta kā atslēgu vārdnīcā (Dictionary) ir jāatbilst Hashable protokolam. Tas nozīmē, ka objekts:

  • Ir jābūt stabilam un unikālam hash kodam, kas nemainās objekta dzīves laikā.
  • Jāīsteno metode hash(into:), kas pievieno objekta komponentes hash funkcijai.
  • Jāīsteno vienlīdzības operators ==, lai vārdnīca varētu salīdzināt atslēgas.

Piemērs:

struct Person: Hashable {
    let id: Int
    let name: String
}

let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]

Tādēļ atslēgas ir jābūt hashable un salīdzināmas, lai vārdnīca darbotos pareizi.