Sobes.tech
Junior — Middle

Milyen adatfajták megengedettek szótár vagy hash-tábla kulcsaként?

sobes.tech MI

Válasz az MI-től

iOS (Swift) környezetben a szótár (Dictionary) kulcsa lehet bármilyen típus, amely megfelel a Hashable protokollnak. Ez azt jelenti, hogy a kulcsnak képesnek kell lennie hash-kódot számítani és az egyenlőség összehasonlítására.

Alapértelmezés szerint a Hashable-t támogató típusok a következők:

  • Alapértelmezett típusok: Int, String, Double, Bool
  • Enumerációk (enum), ha minden hozzárendelt értékük szintén Hashable
  • Struktúrák (struct), ha minden tulajdonságuk Hashable

Példa:

let dict: [String: Int] = ["apple": 3, "banana": 5]

Ha saját típusát szeretné kulcsként használni, implementálnia kell a Hashable protokollt:

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

let peopleDict: [Person: String] = [Person(id: 1, name: "John"): "Developer"]