Junior — Middle
Какви видове данни са допустими като ключ за речник или хеш таблица?
sobes.tech AI
Отговор от AI
В iOS (Swift) ключът за речник (Dictionary) може да бъде всеки тип, който съответства на протокола Hashable. Това означава, че ключът трябва да може да изчислява хеш код и да поддържа сравнение за равенство.
Типовете, които по подразбиране съответстват на Hashable, включват:
- Стандартни типове:
Int,String,Double,Bool - Енумерации (
enum), ако всички техни асоциирани стойности също саHashable - Структури (
struct), ако всички техни свойства саHashable
Пример:
let dict: [String: Int] = ["apple": 3, "banana": 5]
Ако искате да използвате собствен тип като ключ, трябва да реализирате протокола Hashable:
struct Person: Hashable {
let id: Int
let name: String
}
let peopleDict: [Person: String] = [Person(id: 1, name: "John"): "Developer"]