Sto scrivendo del codice che utilizzerà NSMutableArray e memorizzeremo i valori int all'interno di esso, racchiusi all'interno di NSNumbers.iOS come fa NSMutableArray a verificare se contiene oggetti NSNumber?
vorrei confermare che l'interrogazione di un iOS NSArray o NSMutableArray utilizzando nuove NSNumbers con gli stessi valori è legale, di se ho bisogno di iterare esplicitamente sopra la matrice, e verificare se ogni valore int è pari al valore I vuoi provare contro?
Questo sembra funzionare:
NSMutableArray* walkableTiles = [NSMutableArray array];
[walkableTiles addObject:@(1)];
[walkableTiles addObject:@(2)];
[walkableTiles addObject:@(3)];
if([walkableTiles containsObject:@(1)])
{
DLog(@"contains 1"); //test passes
}
if([walkableTiles containsObject:[NSNumber numberWithFloat:2.0]])
{
DLog(@"contains 2");//test passes
}
if([walkableTiles containsObject:[NSNumber numberWithInt:3]])
{
DLog(@"contains 3");//test passes
}
Cosa intendi per * legale *? Sono abbastanza sicuro che 'containsObject:' iterates sopra l'array ad un certo punto. – dandan78
Hai letto le specifiche per containsObject? "Questo metodo determina se anObject è presente nell'array inviando un messaggio isEqual: a ciascuno degli oggetti dell'array (e passando anObject come parametro a ogni isEqual: message)." –
Invece di NSNumber numberWithint: è possibile utilizzare letterali e utilizzare @ (3) –