2012-04-20 36 views
7

Tengo una matriz existente a la que deseo agregar otra matriz en la parte frontal de la matriz existente.ios agregar matriz a la matriz en el frente

Añadir al final hay ningún problema con

[existingArray addObjectsFromArray:newArray]; 

Pero cómo añadirlo a la parte delantera?

Respuesta

19

Puede hacer esto sin una matriz temporal, y sin asumir que newArray es un NSMutableArray, y sin hacer un NSIndexSet:

[existingArray replaceObjectsInRange:NSMakeRange(0,0) 
       withObjectsFromArray:newArray]; 
+0

thx hombre, creo que esta es la mejor solución! saluda – user944351

+0

Solución agradable y elegante. –

3
[newArray addObjectsFromArray:existingArray]; 
existingArray = newArray; 

Esperanza, esto ayudará you..enjoy ...

16

mismo método, pero invertir el orden y volver a asignar:

[newArray addObjectsFromArray:existingArray]; 
existingArray = newArray; 
+0

thx man creo que tengo mis cables cruzados ^^ – user944351

2

Se puede crear una tercera matriz y añadir los elementos en el orden que desee y, a continuación Asing de nuevo a la primera:

NSMutableArray *tempArray = [NSMutableArray arrayWithArray:newArray]; 
[tempArray addObjectsFromArray:existingArray]; 
-2

para insertar jjust antes de la matriz existente u debe utilizar el índice 0

[newArray insertObject: existingArray atIndex:0] 
+0

que todo inserta toda la matriz en el índice 0 – user2387149

0

Usted puede tratar de añadir objetos al índice por debajo de código:

[existingArray insertObjects:newArray atIndexes:0]; 

Gracias ..!

+0

U obtendrá el error [NSMutableArray insertObjects: atIndexes:]: conjunto de índices no puede ser nulo –

0

que las dos primeras respuestas son más elegantes, pero aquí es otra manera:

Uso:

[existingArray insertObjects:newArray atIndexes:indexSet]; 

donde las carreras de indexSet0 a newArray.count-1.

2

Para completarlo aquí es una manera muy diferente:

NSIndexSet *indexes = [NSIndexSet indexSetWithIndexesInRange: (NSRange) {0, [newArray count]}]; 
[existingArray insertObjects: newArray atIndexes: indexes]; 
Cuestiones relacionadas