Sobes.tech
Junior — Middle

Kā īstenot lietotāja objektu izmantošanu kā atslēgas, strādājot ar vārdnīcām?

sobes.tech AI

Atbilde no AI

Lai izmantotu pielāgotus objektus kā atslēgas vārdnīcās (piemēram, Swift Dictionary), šiem objektiem jāatbilst protokoliem Hashable un Equatable.

Tas nozīmē, ka klasei vai struktūrai jāievieš metodes, kas aprēķina sēklu vērtību un pārbauda objektu līdzvērtību.

Piemērs Swift:

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"

Šajā piemērā vārdnīcas atslēga ir User objekts, kas ir unikāli identificēts ar id. hash(into:) un == realizācija ļauj pareizi glabāt un meklēt objektus vārdnīcā.