Сравнить NSDictionaries, содержащие NSStrings

У меня дваNSDictionaries содержащийNSStrings, Для сравнения этих двух словарей я используюisEqualToDictionary: метод. Документация поisEqualToDictionary:говорит

«Два словаря имеют одинаковое содержимое, если в каждом из них содержится одинаковое количество записей, и для данного ключа соответствующие объекты значений в каждом словаре удовлетворяют isEqual: test».

Итак, мои строки сравниваютсяisEqual: метод.

Вопрос в том:
КакisEqual: работать наNSString?

Использует ли этоisEqual: изNSObject? Я прочитал этоisEqual изNSObject просто сравнивает адреса, используя==, Чтобы доказать или опровергнуть эту идею, я написал пример:

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

result являетсяYESадресаstr1 а такжеstr2 разные, хотя.
Так что, либо он не используетisEqual: изNSObject (что чем?) илиNSObject«sisEqual: делает что-то более сложное, чем просто проверка равенства адресов.

Кто-нибудь знает, как это действительно работает?

Ответы на вопрос(3)

Ваш ответ на вопрос