Sobes.tech
Junior — Middle

Kann man ein Objekt als Schlüssel in einer Dictionary-Sammlung oder einer ähnlichen Datenstruktur verwenden?

sobes.tech KI

Antwort von AI

In iOS (Swift oder Objective-C) können Objekte als Schlüssel in Wörterbüchern (Dictionary) verwendet werden, aber das Objekt muss bestimmte Anforderungen erfüllen.

In Swift müssen die Schlüssel des Wörterbuchs das Protokoll Hashable erfüllen, das heißt, das Objekt muss korrekt implementierte Hash- und Gleichheitsvergleichsmethoden haben. Dies ist notwendig, damit das Wörterbuch Werte effizient anhand der Schlüssel speichern und suchen kann.

Beispiel für die Verwendung eines benutzerdefinierten Objekts als Schlüssel:

struct Person: Hashable {
    let id: Int
    let name: String
}

var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"

Wenn das Objekt Hashable nicht implementiert, kann es nicht als Schlüssel verwendet werden. In Objective-C müssen die Schlüssel des Wörterbuchs Objekte sein, die die Methoden -hash und -isEqual: implementieren.

Daher können Objekte als Schlüssel verwendet werden, wenn sie das Hashing und den Vergleich korrekt implementieren.