2011-09-03 9 views

Respuesta

95

Simplemente

[array insertObject:obj atIndex:0]; 

Comprobar la documentation

+2

Pocas cosas que considerar al usar este método. Si la matriz está vacía, puede insertar el objeto en el índice 0 solamente. Por lo tanto, si la matriz contiene 5 objetos, puede insertar objetos en el quinto índice. Intentar insertar valor en el índice 6 daría como resultado una excepción. – EmptyStack

+36

Si el índice ya está ocupado, los objetos del índice y más allá se desplazan agregando 1 a sus índices para hacer espacio. – Malloc

+0

@Malloc hiciste un punto importante aquí, gracias –

4

Como han dicho en otras respuestas sólo tiene que utilizar el método insertObject:atIndex. Es eficiente ya que los NSArrays no consisten necesariamente en memoria contigua, es decir, los elementos no siempre se mueven cuando el inserto ocurre especialmente en grandes arreglos, es decir, varios cientos de miles de elementos. Consulte this blog También tenga en cuenta que en el objetivo C, solo los punteros se mueven en la matriz para que memmove se pueda usar internamente a diferencia de C++, donde se deben realizar copias.

También this SE question.

Cuestiones relacionadas