Tengo un NSArray lleno de bools (expresado como un número), y tengo que probar para ver si algún objeto dentro de la matriz es igual a 1. ¿Cómo puedo hacerlo?NSArray lleno de objetos bool
Respuesta
BOOL no son objetos. Suponiendo que se refiera a algún objeto que represente un valor booleano como NSNumber que implemente un isEqual:
, puede hacer algo como [array containsObject:[NSNumber numberWithBool:YES]]
.
wow. No sabía que podría usarse así. ¡¡¡Gracias!!! –
Como dice Chuck, use -[NSArray containsObject:[NSNumber numberWithBool:YES]]
. Como un experimento mental, aquí hay algunas otras maneras de lograr el objetivo ...
Usted puede hacer esto utilizando un NSPredicate
o usar la nueva API de bloques:
NSArray *myArr //decleared, initialized and filled
BOOL anyTrue = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"boolValue == 1"]].count > 0;
o
BOOL anyTrue = [myArray indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
if([obj boolValue]) {
*stop = YES;
}
return [obj boolValue];
}].count > 0;
También puede usar la codificación de clave-valor, aunque no estoy seguro de su eficacia relativa:
[[myArray valueForKeyPath:@"@sum.boolValue"] integerValue] > 0;
Esa versión KVC bool-summing es ingeniosamente aterradora. – Chuck
@Chuck, sí, estaría un poco molesto por tener que leer cualquiera de estas soluciones en código real. Sin embargo, fue divertido poco ejercicio de programación cerebral funcional. –
- 1. NSArray y bool values
- 2. ¿NSArray copia objetos?
- 3. NSArray de objetos y Casting
- 4. Buscando NSArray de objetos NSDictionary
- 5. extrayendo propiedades de NSArray de los objetos
- 6. Filtrado NSArray de objetos NSDictionary utilizando NSPredicate
- 7. Cantidad máxima de objetos en NSArray
- 8. Ordenar NSArray con la costumbre objetos
- 9. Filtrar una NSArray que contiene objetos personalizados
- 10. Con un NSArray de referencias a objetos, ¿libero explícitamente todos los objetos en la matriz o solo la matriz misma?
- 11. ¿La mejor manera de ordenar un NSArray de objetos NSDictionary?
- 12. NSArray independiente a una lista de objetos de tipo NSString
- 13. objetos Restar en uno NSArray de otra matriz
- 14. ¿Cómo ordenar NSArray con objetos de diccionario alfabéticamente?
- 15. Ordenar NSArray de objetos personalizados por sus propiedades NSDate
- 16. Obtiene n objetos aleatorios (por ejemplo 4) de nsarray
- 17. NSIndexSet de NSArray
- 18. Obtener un NSArray de un solo atributo de un NSArray
- 19. Cacao: deserializar json cadena a objetos personalizados (no NSDictionary, NSArray)
- 20. NSArray: agregue varios objetos con el mismo valor
- 21. Cómo agregar objetos a un NSArray usando for loop?
- 22. Enumeración de NSArray múltiple
- 23. dibujar un círculo lleno
- 24. Dibuja un semicírculo lleno
- 25. NSArray of united Arrays
- 26. moldeada bool anulable a bool
- 27. f Demostrando (f bool) = bool
- 28. Objetivo-C: BOOL vs bool
- 29. El búfer SocketAsyncEventArgs está lleno de ceros
- 30. Convertir NSArray en NSDictionary
¿Qué haces? quieres decir con un objeto bool? –
publicación editada en ans. pregunta –
¿Está tratando de agregar datos a un NSArray? porque eso no se puede hacer. –