Junior — Middle
Bir sözlükte karmaşık bir veri yapısı anahtar olarak kullanılabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS (Swift) içindeki sözlüklerde (Dictionary), anahtarlar yalnızca Hashable protokolüne uygun olan türler olabilir. Bu, karmaşık bir veri yapısının, hashleme ve eşitlik karşılaştırmasını uygularsa anahtar olabileceği anlamına gelir.
Örneğin, bir yapı varsa:
struct Point: Hashable {
let x: Int
let y: Int
}
Point'i sözlükte anahtar olarak kullanabilirsiniz:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Nokta A"
Eğer yapı Hashable ile uyumlu değilse, anahtar olarak kullanılamaz. Bu durumda, ya protokole uygun hale getirmeli ya da başka bir anahtar türü kullanmalısınız.