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ā.