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 элемента.
Мне не хватает чего-то действительно очевидного, и я не могу понять, что.
3 ответа
Часть "0x0" является адресом памяти. В частности, "nil", что означает, что ваш изменяемый массив не существует во время его вызова. Попробуйте создать его в своем методе -init:
categories = [[NSMutableArray alloc] init];
Не забудьте выпустить его в вашем -dealloc.
Инициализируйте пустой массив, используя
categories = [NSMutableArray array];
Метод класса массива автоматически освобождается, поэтому нет необходимости его освобождать.
@property (Strong, nonatomic) NSMutableArray * yourArray;
Вы должны использовать Стронг.