У меня есть петля for
. Внутри этого цикла я хочу заполнить NSArray
некоторыми объектами. Но я не вижу никакого метода, который позволил бы мне это сделать. Я заранее знаю, сколько объектов есть. Я хочу избежать NSMutableArray
, так как некоторые люди сказали мне, что это очень большие накладные расходы и производительность-тормоза по сравнению с NSArray
.Как я могу заполнить NSArray динамически?
У меня есть что-то вроде этого:
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...
}
Я посмотрел в документации NSArray
, но как определить, сколько элементов будет там? Или я действительно использую для этого NSMutableArray
?
У меня нет времени, чтобы посмотреть это прямо сейчас, но, возможно, вам нужно сначала создать NSMutableArray, а затем использовать метод для этого, чтобы получить неизменяемую версию? Не уверен, что это просто даст вам непревзойденный интерфейс и не получит прирост скорости (т. Е. Может быть такой же основной реализации, как и изменчивый), но стоит посмотреть. Насколько я помню, документы Apple ясны, как грязь на этом. – frankodwyer
Не слушайте людей, которые говорят вам, что что-то плохое! NSMutableArray является основной частью Objective-C, он очень оптимизирован, и нет причин его избегать! –