Was ist die Standardfunktion von NSObject isEqual: und Hash?
Ich habe eine Datenbankmodellklasse, die a istNSObject
. Ich habe eine Reihe dieser Objekte in aNSMutableArray
. ich benutzeindexOfObject:
um eine Übereinstimmung zu finden. Problem ist, dass sich die Speicheradresse des Modellobjekts ändert. Also übersteuere ich diehash
Methode, um die Zeilen-ID des Modells zurückzugeben. Dies behebt es jedoch nicht. Ich muss auch die überschreibenisEqual:
Methode zum Vergleichen des Wertes vonhash
Methode.
Was macht dieisEqual:
Methode verwenden, um die Gleichheit standardmäßig zu bestimmen?
Ich gehe davon aus, dass es die Speicheradresse verwendet. Nach dem Lesen derisEqual:
Dokumentation Ich dachte, es wird der Wert aus dem verwendethash
Methode. Dies ist offensichtlich nicht der Fall, da mein Versuch, diesen Wert zu überschreiben, mein anfängliches Problem nicht gelöst hat.