Vergleichen Sie NSDictionaries mit NSStrings

ich habe zweiNSDictionaries enthältNSStrings. Zum Vergleich dieser beiden Wörterbücher verwende ichisEqualToDictionary: Methode. Die Dokumentation aufisEqualToDictionary:sagt

"Zwei Wörterbücher haben den gleichen Inhalt, wenn sie jeweils die gleiche Anzahl von Einträgen enthalten und für einen bestimmten Schlüssel die entsprechenden Wertobjekte in jedem Wörterbuch den isEqual: -Test erfüllen."

Also, meine Saiten werden von verglichenisEqual: Methode.

Die Frage ist:
Wie geht das?isEqual: Arbeit für dieNSString?

Verwendet esisEqual: vonNSObject? Ich habe das gelesenisEqual vonNSObject vergleicht nur Adressen mit==. Um diese Idee zu beweisen oder zu widerlegen, habe ich ein Beispiel geschrieben:

NSString *str1 = @"sampleString";
NSString *str2 = [NSString stringWithFormat:@"%@", @"sampleString"];
BOOL result = [str1 isEqual:str2];

Dasresult istYES, die Adressen vonstr1 undstr2 sind aber anders.
Also, entweder wird es nicht verwendetisEqual: vonNSObject (was als?) oderNSObject'sisEqual: Ist etwas komplizierter, als nur die Gleichheit der Adressen zu überprüfen.

Weiß jemand, wie es wirklich funktioniert?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage