NSMutableArray addObject не работает
Я объявил NSMutableArray *categories
в моем файле контроллера .h и объявил для него свойство.
В методе parser:foundCharacters:
делегата NSXMLParser
в моем файле .m, у меня есть этот код:
-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
if (elementFound)
{
element = string;
[self.categories addObject:element];
}
}
Но когда я наводил строку [self.categories addObject:element]
после перехода в нее в режиме отладки, XCode сообщает мне, что размер 0x0, 0 объектов. В моем XML файле есть 3 элемента, поэтому в массиве должно быть 3 элемента.
Мне не хватает чего-то действительно очевидного, и я не могу понять, что.
Ответы
Ответ 1
Часть "0x0" - это адрес памяти. В частности, "nil", что означает, что ваш изменяемый массив не существует в момент его вызова. Попробуйте создать его в своем методе -init:
categories = [[NSMutableArray alloc] init];
Не забудьте выпустить его в своем -dealloc.
Ответ 2
Инициализировать пустой массив, используя
categories = [NSMutableArray array];
Метод класса массива автореализовывается, поэтому нет необходимости выпускать.
Ответ 3
@property (Strong, nonatomic) NSMutableArray * yourArray;
вам нужно использовать Сильный.