objective arreglos array objective-c nsarray

objective c - arreglos - NSArray agregando elementos



nsdictionary objective c (3)

Aquí hay otra forma de agregar objetos en una matriz si está trabajando con una matriz inmutable. Que es seguro para subprocesos

Puede usar el método arrayByAddingObject . Algunas veces es mucho mejor. Aquí hay una discusión al respecto: NSMutableArray vs NSArray que es mejor

Tengo que crear un NSArray dinámico, es decir, no sé el tamaño de la matriz o los elementos que la matriz tendrá. Los elementos deben agregarse a la matriz dinámicamente. Miré la referencia de la clase NSArray. Hay un método llamado arrayWithObjects, que se debe usar en el momento de inicializar la matriz. Pero no sé cómo lograr lo que necesito hacer.

Necesito hacer algo como lo siguiente:

NSArray *stringArray = [[NSArray init] alloc] ; for (int i = 0; i < data.size; i++){ stringArray.at(i) = getData(i); }


Convierta su NSArray a NSMutableArray, y luego puede agregar valores dinámicamente:

NSMutableArray *mutableStringArray = [stringArray mutableCopy]; [mutableStringArray addObject:@"theNewElement"];


Si crea un NSArray , no podrá agregarle elementos, ya que es inmutable. Debería intentar usar NSMutableArray en NSMutableArray lugar.

Además, alloc el orden de alloc e init . alloc crea una instancia e init inicializa.

El código se vería así (suponiendo que getData es una función global):

NSMutableArray *stringArray = [[NSMutableArray alloc] init]; for(int i=0; i< data.size; i++){ [stringArray addObject:getData(i)]; }