Junior — Middle
Как да определите правилния тип ключ за използване в речник?
sobes.tech AI
Отговор от AI
В iOS (Swift) ключът за речник трябва да отговаря на протокола Hashable. Това означава, че ключът трябва да може да изчислява хеш-стойност и да се сравнява за равенство, за да може речникът ефективно да съхранява и търси стойности.
Например, стандартните типове като String, Int, UUID вече реализират Hashable и са подходящи за използване като ключове.
Ако създавате собствен тип за ключ, трябва да реализирате протокола Hashable:
struct User: Hashable {
let id: Int
let name: String
}
var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"
Така правилният тип ключ е този, който:
- реализира
Hashable; - има уникални стойности за ключовете, за да избегне колизии;
- е неизменяем (по-добре е да използвате структури или неизменяеми свойства).