Как я могу заполнить NSArray динамически?

Поскольку python работает со ссылкой, поэтому, когда вы сделали dict2 = dict1, вы передаете ссылку на dict2, это было то же самое, что и dict1. Итак, когда вы вносите изменения в dict1 или dict2, вы меняете ссылку, и оба определяют chages. Извините, если я что-то ошибся на английском.

15
задан Venk 3 June 2013 в 07:26
поделиться

4 ответа

Да, вам нужно использовать NSMutableArray :

int count = [imageArray count];
NSMutableArray *returnArray = [[NSMutableArray alloc] initWithCapacity:count];
for (imageName in imageArray) {
    UIImage *image = [UIImage imageNamed:imageName];
    [returnArray addObject: image];
    ...
}

EDIT - объявление исправлено

28
ответ дан 1 December 2019 в 01:17
поделиться

Для этого вам нужно будет использовать NSMutableArray , поскольку добавление является мутацией, а NSArray неизменным.

Вы можете создать заполненный NSMutableArray в NSArray впоследствии ( см. Здесь для обсуждения ), но вы не будете добавлять элементы в обычный старый NSArray в ближайшее время .

4
ответ дан 1 December 2019 в 01:17
поделиться

Будет ли это подходящим временем для использования NSMutableArray ?

Я знаю, вы упомянули, что хотели бы избежать этого, но иногда есть причина для таких вещей, как это.

3
ответ дан 1 December 2019 в 01:17
поделиться

Я бы посоветовал проводить оптимизацию только тогда, когда вы знаете, что NSMutableArray равен , что снижает производительность, но если это так, вы всегда можете создать статический массив из изменяемого массива после того, как вы его заполнили. Это зависит от того, вызвано ли снижение производительности последующим использованием NSMutableArray или просто его созданием.

Я предполагаю, что это не будет узким местом в производительности вашего приложения.

2
ответ дан 1 December 2019 в 01:17
поделиться