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;

Вы должны использовать Стронг.

Другие вопросы по тегам