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?), oNSObject
esisEqual:
Hace algo más complicado que simplemente comprobando la igualdad de direcciones.
¿Alguien sabe cómo funciona realmente?