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?