Sobes.tech
Junior — Middle

Sözlüklerle çalışırken özel nesnelerin anahtar olarak kullanılmasını nasıl uygularız?

sobes.tech yapay zeka

AI'dan gelen yanıt

Özel nesneleri sözlüklerde anahtar olarak kullanmak (örneğin, Swift Dictionary'de), bu nesnelerin Hashable ve Equatable protokollerine uygun olması gerekir.

Bu, sınıf veya yapının, nesnelerin karma değerini hesaplama ve eşitlik kontrolü için yöntemler uygulaması anlamına gelir.

Swift'te örnek:

struct User: Hashable {
    let id: Int
    let name: String

    func hash(into hasher: inout Hasher) {
        hasher.combine(id)
    }

    static func == (lhs: User, rhs: User) -> Bool {
        return lhs.id == rhs.id
    }
}

var dict: [User: String] = [:]
let user1 = User(id: 1, name: "Alice")
dict[user1] = "Admin"

Bu örnekte, sözlüğün anahtarı User nesnesidir ve id ile benzersiz şekilde tanımlanır. hash(into:) ve == uygulamaları, nesnelerin sözlükte doğru şekilde saklanmasını ve aranmasını sağlar.