Junior — Middle
Kaip įgyvendinti naudotojo objektų naudojimą kaip raktus dirbant su žodynais?
sobes.tech AI
Atsakymas iš AI
Naudojant pritaikytus objektus kaip raktus žodynuose (pavyzdžiui, Swift Dictionary), šie objektai turi atitikti Hashable ir Equatable protokolus.
Tai reiškia, kad klasė arba struktūra turi įgyvendinti metodus, skirtus skaičiuoti žymės reikšmę ir patikrinti objektų lygybę.
Pavyzdys 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"
Šiame pavyzdyje žodyno raktas yra User objektas, kuris unikalus pagal id. hash(into:) ir == įgyvendinimai leidžia teisingai saugoti ir ieškoti objektus žodyne.