Junior — Middle
Може ли да се използва сложна структура от данни като ключ в речник?
sobes.tech AI
Отговор от AI
В речниците (Dictionary) в iOS (Swift) ключовете могат да бъдат само от типове, които съответстват на протокола Hashable. Това означава, че сложна структура от данни може да бъде ключ, ако реализира хеширане и сравнение за равенство.
Например, ако имате структура:
struct Point: Hashable {
let x: Int
let y: Int
}
можете да използвате Point като ключ в речник:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Точка A"
Ако структурата не съответства на Hashable, не може да бъде използвана като ключ. В този случай трябва или да добавите съответствие към протокола, или да използвате друг тип ключ.