Tengo un lazo for
. Dentro de ese ciclo quiero llenar un NSArray
con algunos objetos. Pero no veo ningún método que me permita hacer eso. Sé de antemano cuántos objetos hay. Quiero evitar un NSMutableArray
, ya que algunas personas me dijeron que es una gran sobrecarga y freno de rendimiento en comparación con NSArray
.¿Cómo puedo llenar un NSArray dinámicamente?
Tengo algo como esto:
NSArray *returnArray = [[NSArray alloc] init];
for (imageName in imageArray) {
UIImage *image = [UIImage imageNamed:imageName];
//Now, here I'd like to add that image to the array...
}
miré en la documentación para NSArray
, pero ¿Cómo se especifica cuántos elementos van a estar ahí? ¿O debo usar realmente NSMutableArray
para eso?
No tengo tiempo para buscar esto en este momento, pero quizás primero deba crear un NSMutableArray y luego usar un método para obtener la versión Inmutable. No estoy seguro si eso simplemente le daría una interfaz Inmutable y no ganaría velocidad (es decir, podría ser la misma implementación subyacente como mutable), pero vale la pena verla. Por lo que recuerdo, los documentos de Apple son claros como el barro en esto. – frankodwyer
¡No escuche a las personas que le dicen que algo tiene un mal rendimiento! NSMutableArray es una parte central de Objective-C, está altamente optimizado y no hay razón para evitarlo. –