Sobes.tech
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.