Porównaj NSDictionaries zawierające NSStrings

mam dwaNSDictionaries zawierającyNSStrings. Aby porównać te dwa słowniki, których używamisEqualToDictionary: metoda. Dokumentacja dotyczącaisEqualToDictionary:mówi

„Dwa słowniki mają równą zawartość, jeśli każda z nich ma taką samą liczbę wpisów, a dla danego klucza odpowiadające im obiekty w każdym słowniku spełniają kryterium isEqual: test”.

Więc moje struny są porównywane przezisEqual: metoda.

Pytanie brzmi:
JakisEqual: pracować dlaNSString?

Czy to używaisEqual: zNSObject? Przeczytałem toisEqual zNSObject po prostu porównuje adresy, używając==. Aby udowodnić lub obalić ten pomysł, napisałem próbkę:

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

Theresult jestYES, adresystr1 istr2 są jednak różne.
Więc albo nie używaisEqual: zNSObject (co niż?), lubNSObjectjestisEqual: robi coś bardziej skomplikowanego niż tylko sprawdzanie równości adresów.

Czy ktoś wie, jak to naprawdę działa?

questionAnswers(3)

yourAnswerToTheQuestion