Comparar NSDictionaries que contienen NSStrings

tengo dosNSDictionaries que contieneNSStrings. Para comparar estos dos diccionarios que usoisEqualToDictionary: método. La documentación sobreisEqualToDictionary:dice

"Dos diccionarios tienen contenidos iguales si cada uno contiene el mismo número de entradas y, para una clave determinada, los objetos de valor correspondientes en cada diccionario satisfacen la prueba isEqual:".

Entonces, mis cuerdas son comparadas porisEqual: método.

La pregunta es:
CómoisEqual: trabajar para elNSString?

Hace usoisEqual: desdeNSObject? He leido esoisEqual desdeNSObject solo compara direcciones, usando==. Para probar o refutar esta idea escribí una muestra:

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

losresult esYES, las direcciones destr1 ystr2 aunque son diferentes
Por lo tanto, o bien no utilizaisEqual: desdeNSObject (¿Qué que?), oNSObjectesisEqual: Hace algo más complicado que simplemente comprobando la igualdad de direcciones.

¿Alguien sabe cómo funciona realmente?

Respuestas a la pregunta(3)

Su respuesta a la pregunta