Junior — Middle
Wie implementiert man die Verwendung benutzerdefinierter Objekte als Schlüssel bei der Arbeit mit Wörterbüchern?
sobes.tech KI
Antwort von AI
Um personalisiertes Objekt als Schlüssel in Wörterbüchern (z.B. in Swift Dictionary) zu verwenden, erfordert, dass diese Objekte die Protokolle Hashable und Equatable erfüllen.
Das bedeutet, dass die Klasse oder Struktur Methoden zur Berechnung des Hash-Werts und zur Überprüfung der Gleichheit von Objekten implementieren muss.
Beispiel in 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"
In diesem Beispiel ist der Schlüssel des Wörterbuchs ein User-Objekt, das eindeutig durch id identifiziert wird. Die Implementierung von hash(into:) und == ermöglicht es, Objekte im Wörterbuch korrekt zu speichern und zu suchen.