как разбить строку в NSMutableArray - PullRequest
7 голосов
/ 08 апреля 2011

Я хочу разбить строку на NSMutableArray

Я знаю,

- (NSArray *)componentsSeparatedByString:(NSString *)separator

доступно, но это для NSArray, а не для NSMutableArray.

Iнужно, потому что после разделения я хочу удалить элемент из массива с помощью

-(void)removeObjectAtIndex:(NSUInteger)index

, что невозможно с NSArray.

Спасибо

Ответы [ 3 ]

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

Вы также можете просто получить изменяемую копию возвращенного массива:

NSMutableArray *array = [[myString componentsSeparatedByString:@"..."] mutableCopy];

Также помните, что копия, как alloc, выделяет новую память. Поэтому при использовании в коде, отличном от ARC, вы должны autorelease скопированный массив или вручную release, когда закончите с ним.

9 голосов
/ 08 апреля 2011

Создайте новый NSMutableArray, используя

NSArray *array = [NSString componentsSeparatedByString:@"..."];
NSMutableArray *mutable = [NSMutableArray arrayWithArray:array];
2 голосов
/ 08 апреля 2011

Создайте NSMutableArray из выходного NSArray, созданного компонентамиSeparatedByString.

NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:array]; 
...