Добавление строки в массив - PullRequest
0 голосов
/ 28 апреля 2011


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

1) [arrData addObject:[NSString stringWithString:strlast]];
2) [arrData addObject:strlast];

Заранее спасибо

Ответы [ 5 ]

1 голос
/ 28 апреля 2011

Если он показывает ноль (ноль), вам нужно убедиться, что вы установили arrData где-то в своем коде, прежде чем пытаться addObject:.

arrData = [[NSMutableArray alloc] init];

Также strlast - это строка, так что используйте ваш второй пример, первый пример не имеет смысла.

[arrData addObject:strlast];
1 голос
/ 28 апреля 2011

Вы не можете ничего добавить к NSArray, как только он создан. Вам нужно использовать NSMutableArray, если вы хотите внести в него изменения.

Обновление: у вас могут быть две проблемы.

  1. Использование NSArray вместо NSMutableArray, когда требуется изменчивость.

  2. Не инициализирует объект массива (любого вида). Если arrData равен нулю, вы можете с радостью отправлять столько сообщений, сколько захотите. Ничего не случится.

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

Если вы используете неизменяемый массив, вы также можете использовать arrayByAddingObject:

arrData = [arrData arrayByAddingObject: strlast];

но изменяемый массив, вероятно, является лучшей идеей.

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

Попробуйте:

NSMutableArray *arrData = [NSMutableArray array];
NSString *string = @"My string";
[arrData addObject:string];
NSLog(@"%@", [arrData objectAtIndex:0]); //logs "My string"
0 голосов
/ 28 апреля 2011

Вы разместили массив и присвоили его arrData?

...