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énHashable - Struktúrák (
struct), ha minden tulajdonságukHashable
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"]