#ios #objective-c #nsstring #nsarray
#iOS #objective-c #nsstring #nsarray
Вопрос:
В файле myProj.h я объявил:
@property (strong, nonatomic) NSMutableArray *wordsArray;
в файле .m я использую следующее, чтобы добавить некоторые значения в viewDidLoad:
[_wordsArray addObject:[NSString stringWithFormat:@"Now is the time for all good men to come to the aid of their party."]];
[_wordsArray addObject:[NSString stringWithFormat:@"Four score and seven years ago our forefathers..."]];
[_wordsArray addObject:[NSString stringWithFormat:@"A coward dies many deaths; a brave man but one."]];
Я также установил здесь счетчик (определенный как int в файле .h):
__cntr = 0;
В отправителе (IBAction) pressButton: (id) я хочу изменить текст метки (*somelabel) на следующее значение в массиве [0] (затем повторите _cntr до 1 и получите это значение и т.д.). Итак, у меня
есть:
_somelabel.text = [NSString stringWithFormat:@"%@",[_wordsArray objectAtIndex:__cntr]];
Строит, но когда я запускаю и нажимаю кнопку, текст метки превращается в (Null).
Так же как и проблема с добавлением значений в массив или их извлечением. Спасибо
Комментарии:
1. Для чего у вас есть общедоступное свойство
wordsArray
? Другие классы устанавливают массив или получают из него значения? Если нет, это не должно быть общедоступным свойством.
Ответ №1:
Я предполагаю, что вы не инициализировали свой изменяемый массив. В viewDidLoad добавить:
_wordsArray = [[NSMutableArray alloc] init];
перед добавлением к нему каких-либо объектов.