esiste una classe disponibile per verificare se un array non contiene un oggetto? voglio fare qualcosa di simileverifica se un array non contiene un determinato oggetto
if [(myarray doesntContain @"object")]
è possibile questo
esiste una classe disponibile per verificare se un array non contiene un oggetto? voglio fare qualcosa di simileverifica se un array non contiene un determinato oggetto
if [(myarray doesntContain @"object")]
è possibile questo
Per NSArray
uso -containsObject:
:
if (![myarray containsObject:someObject]) {
// ...
}
so che contiene oggetto voglio vedere se ci sono non è un oggetto specifico nell'array e se non lo si deve aggiungere. so come aggiungere non so come controllare se manca un oggetto .. –
@Alx: ecco perché il '!' è lì, è fondamentalmente * "se non (array containsObject)" *. Non c'è uno specifico '-doesntContainObject:' come banale da usare '!' O '== NO'. –
dispiace non ho visto che mi dispiace :( Grazie mille btw .. –
Se hai a che fare con una NSArray, il tuo primo porto di scalo dovrebbe probabilmente essere il Apple documentation for NSArray, e probabilmente il metodo containsObject, c'è un esempio in this question.
che conosco contiene oggetto voglio vedere se non c'è un oggetto specifico nell'array e se non si vuole aggiungerne uno. so come aggiungere non so come controllare se manca un oggetto .. –
Quindi inverti la chiamata a 'containsObject' come Georg ha indicato nella sua risposta =) – Rob
ho scritto una categoria NSArray per raggiungere questi controlli negati tramite metodi di istanza, come lei aveva originariamente richiesto .. Il primo è per un gruppo di set di array tipo di oggetti, il secondo per un controllo singolare. Restituiscono YES nel caso in cui l'istanza dell'array NON contenga l'oggetto o gli oggetti passati. Perché? I punti esclamativi mi confondono.
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, quando si sceglie i tag per la vostra domanda, è generalmente una buona idea assicurarsi che uno o f è la lingua che stai chiedendo per =) – Rob
In quale caso, quale tipo di array? Un array C di base o un NSArray? – Stephen
è un array ns di base ... –