¿Cómo puedo comparar dos NSMutableArray? si ambos son iguales a lo que debería devolver, de lo contrario serían falsos.cómo comparar dos NSMutableArray?
Gracias ...
¿Cómo puedo comparar dos NSMutableArray? si ambos son iguales a lo que debería devolver, de lo contrario serían falsos.cómo comparar dos NSMutableArray?
Gracias ...
return ([array1 isEqualToArray:array2]);
vuelve YES
si arreglos son iguales otra cosa vuelve NO
-1 de mí. tienes un par de problemas 1) el método ya devuelve un BOOL SÍ o NO, por lo que es necesario probar el BOOL y devolver lo mismo. 2) BOOL en Objective-C es 'YES' y' NO' no 'true' o' false'. Compilará, pero no es una convención de Cocoa. – Abizern
@Abizern: +1! Gracias, editaré mi respuesta. Lo convertí en una prueba para que un usuario novato pueda entender mejor la idea. – visakh7
Lo siento, el estilo pobre es estilo pobre. ¿Usa un método para llamar a un método y simplemente devuelve su resultado? – Abizern
¿Tiene isEqualToArray:
método rápido y seguro!
Otra forma es iterar a través de ambas matrices y comparar cada objeto utilizando el método isEqual:
. Es lo mismo que llamar al isEqualToArray:
. Tenga en cuenta que en ambas variantes debe implementar el método isEqual:
en su clase de objeto de matriz si no es una clase estándar.
Y justo antes de estas operaciones puede simplemente comparar su longitud, si no son iguales, por lo que no tiene sentido gastar recursos en cálculos más complicados.
-1. La primera parte está bien, creo que tu explicación es incorrecta. Por lo general, es mejor utilizar los métodos específicos 'isEqualTo
He mencionado solo otra forma de comparación de objetos (podría ser útil). Lo he referido como _otro_ camino. En la tercera parte mencioné la comparación de la longitud de la matriz. Sin duda, merece menos, mi mal. – knuku
Si el usuario no desea comparar el objeto completo, es mucho mejor implementar 'isEqual:'. ¿Qué pasa si comparamos las manzanas solo por tamaño y color? No necesitamos saber cuántas semillas hay dentro de la manzana. Espero que lo tengas – knuku
[array1 isEqualToArray:array2];
debe ser capaz de utilizar la clase NSArray
base para comparar una matriz con otra matriz:
- (BOOL)isEqualToArray:(NSArray *)otherArray
Uso isEqualToArray: método para comparar entre dos objetos de matriz
así:
Método 1:
return [array1 isEqualToArray:array2]; //return YES or NO
Método 2:
if([array1 isEqualToArray:array2]) {//perform condition on YES}
if([array1 isEqualToArray:array2]){
}else{
}
Sería bueno proporcionar un enlace a la documentación del método o agregar comentarios sobre cómo el método hace la comparación. – Tala
posible duplicado de [Cómo comparar dos NSMutableArrays?] (Http://stackoverflow.com/ preguntas/14332971/how-to-compare-two-nsmutablearrays) – nyuszika7h
@ nyuszika7h: ¡por favor revise la fecha de la pregunta! :) – Maulik
Bueno, traté de mejorar una edición sugerida para esto y me dijo que ya existe una pregunta con ese título, así que ahí está. Aunque no me di cuenta de que este es más viejo. – nyuszika7h