¿hay una clase disponible para verificar si una matriz no contiene un objeto? quiero hacer algo comocomprobando si una matriz no contiene un determinado objeto
if [(myarray doesntContain @"object")]
es esto posible
¿hay una clase disponible para verificar si una matriz no contiene un objeto? quiero hacer algo comocomprobando si una matriz no contiene un determinado objeto
if [(myarray doesntContain @"object")]
es esto posible
Para NSArray
uso -containsObject:
:
if (![myarray containsObject:someObject]) {
// ...
}
Sé que contiene el objeto Quiero ver si existe no es un objeto específico en la matriz y si no hay para agregar uno. Sé cómo agregarlo, simplemente no sé cómo verificar si falta un objeto. –
@Alx: Es por eso que '!' está ahí, básicamente es * "de lo contrario (array containsObject)" *. No existe un '-doesntContainObject:' específico, ya que es trivial utilizar '!' O '== NO'. –
lo siento, no vi que lo siento :( Muchas gracias por cierto .. –
Si usted está tratando con un NSArray, su primer punto de contacto debe probablemente será el Apple documentation for NSArray, y probablemente el método containsObject, hay un ejemplo en this question.
que sé sobre contiene el objeto quiero ver si no hay un objeto específico en la matriz y si no hay para agregar uno. Sé cómo agregarlo, simplemente no sé cómo comprobar si falta un objeto. –
Invierte la llamada a 'containsObject' como Georg lo indicó en su respuesta =) – Rob
me escribió una categoría NSArray para lograr estos controles negadas a través de los métodos de instancia, como se había solicitado inicialmente .. La primera es para un grupo determinado de tipo matriz de objetos, el último para un control singular. Estos devuelven SÍ en el caso de que la instancia de la matriz NO contenga el objeto u objetos pasados. ¿Por qué? Las exclamaciones me confunden.
NSArray + Additions.h
-(BOOL)doesNotContainObjects:(id<NSFastEnumeration>)enumerable;
-(BOOL)doesNotContainObject:(id)object;
NSArray + Additions.m
-(BOOL)doesNotContainObjects:(id<NSFastEnumeration>)enumerable {
for (id x in enumerable) {
if ([self containsObject:x]) return NO; // exists, abort!
}
return YES; // it ain't in there, return TRUE;
}
- (BOOL)doesNotContainObject:(id)object {
if ([self containsObject:object]) return NO; return YES;
}
@Alx, la hora de elegir las etiquetas para su pregunta, generalmente es una buena idea asegurarse de que uno o f ellos es el idioma para el que hace la pregunta =) – Rob
En cuyo caso, ¿qué tipo de arreglo? ¿Una matriz C básica o una NSArray? – Stephen
es una matriz ns básica ... –