Sobes.tech
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, не може да бъде използвана като ключ. В този случай трябва или да добавите съответствие към протокола, или да използвате друг тип ключ.