Быстрый NSMutableArray Вопрос - PullRequest
       1

Быстрый NSMutableArray Вопрос

0 голосов
/ 30 апреля 2011

Мне было интересно, будет ли использование NSMutableArray лучшим способом для создания массива, к которому я буду добавлять объекты?Или просто обычный NSArray?во-вторых, я пытаюсь сделать что-то вроде ArrayList в Java (так что нет ограничений по размеру), и я хотел бы знать, как это сделать.Я подумал о том, чтобы создать больший массив и скопировать в него старый массив.Мой код:

- (void) addAccount:(BankAccount *)b
{

accountCount = [NSNumber numberWithDouble:[accountCount doubleValue] + 1];    
NSMutableArray *oldList = accounts;
accounts = [[NSMutableArray alloc] (some code to make bigger and copy over)];

}

PS Я изучал этот язык вчера, поэтому не могу понять ваш ответ, если он слишком сложный

Ответы [ 4 ]

0 голосов
/ 30 апреля 2011

Если вам не нужен заказ (обычно это не так), используйте NSSet / NSMutableSet.

0 голосов
/ 30 апреля 2011

NSMutableArrays - это то, что вы хотите. Кроме того, NSMutableArrays уже похожи на ArrayLists или STL-векторы, или что-то еще с «без ограничения размера». Вы можете сказать [myArray addObject:someObject];, пока у вас не закончится память, и он просто будет продолжать изменять свой размер по мере необходимости.

0 голосов
/ 30 апреля 2011
  1. Если вы хотите добавлять объекты одновременно, используйте NSArray.Если вы собираетесь добавлять какие-либо объекты сейчас, а позже, используйте NSMutableArray.
  2. Ваш фрагмент кода не имеет большого смысла.Чтобы сделать NSMutableArray, сделайте следующее:

    NSMutableArray *array = [NSMutableArray array];

0 голосов
/ 30 апреля 2011

Разница между NSMutableArray и NSArray заключается в значении слова "изменчивый".Например: массив mutable может быть изменен после его создания, тогда как "обычный" NSArray является неизменным и не может быть изменен после его создания.

Таким образом,использование NSMutableArray и добавление к нему объектов с помощью метода addObject: может показаться идеальным решением.

...