2010-02-26 9 views
7

Tengo un NSMutableArray, quiero insertar datos dentro de él, el problema es primero, quiero comprobar si el índice donde estoy insertando los datos existe o no. ¿Como hacer eso? Intento algo así, pero nada está funcionando:Compruebe si los datos están presentes en un índice en NSMutableArray

if ([[eventArray objectAtIndex:j] count] == 0) 

o

if (![eventArray objectAtIndex:j]) 

Respuesta

11
if (j < [eventArray count]) 
{ 
    //Insert 
} 
+0

no responde a la pregunta de la OP; ludo está buscando algo parecido a una matriz dispersa. – bbum

+1

A veces soy estúpido -, .- de todos modos gracias por esta respuesta rápida ~ ^^ – ludo

+0

no no, está funcionando perfectamente, ni siquiera pensé en eso fácil jaja – ludo

3

NSArray y NSMutableArray no son matrices dispersas. Por lo tanto, no existe el concepto de "existe en el índice", solo "la matriz tiene N elementos o más".

Para NSMutableArray, la gran suma total de las operaciones son mutables:

- (void)addObject:(id)anObject; 
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index; 
- (void)removeLastObject; 
- (void)removeObjectAtIndex:(NSUInteger)index; 
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; 

Todos los otros métodos mutabilidad se pueden expresar en términos de lo anterior, y - más específicamente a su pregunta - la supresión de un objeto no lo hace crea un agujero (ni puedes crear una matriz con N "agujeros" para rellenar más tarde).

+4

Esto no responde la pregunta del OP: P – willcodejavaforfood

0

me he dado una breve puesta en práctica de una matriz dispersa en esta pregunta: Sparse Array answer

Cuestiones relacionadas