Sobes.tech
Junior — Middle

Kako implementirati korišćenje prilagođenih objekata kao ključeva prilikom rada sa rečnicima?

sobes.tech АИ

Одговор од АИ

Da biste koristili prilagođene objekte kao ključeve u rečnicima (na primer, u Swift Dictionary), ovi objekti moraju biti usklađeni sa protokolima Hashable i Equatable.

To znači da klasa ili struktura mora implementirati metode za izračunavanje vrednosti heša i proveru jednakosti objekata.

Primer u Swift-u:

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"

U ovom primeru, ključ rečnika je objekat User, identifikovan jedinstveno putem id. Implementacija hash(into:) i == omogućava pravilno čuvanje i pretraživanje objekata u rečniku.