NSMutableArray addObject не работает - PullRequest
       11

NSMutableArray addObject не работает

53 голосов
/ 01 декабря 2009

Я объявил 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 ]

145 голосов
/ 01 декабря 2009

Часть "0x0" является адресом памяти. В частности, «nil», что означает, что ваш изменяемый массив не существует во время его вызова. Попробуйте создать его в своем методе -init:

categories = [[NSMutableArray alloc] init];

Не забудьте опубликовать его в вашем -dealloc.

7 голосов
/ 02 апреля 2015

Инициализировать пустой массив, используя

categories = [NSMutableArray array];

Метод класса массива автоматически освобождается, поэтому не нужно его освобождать.

0 голосов
/ 09 июня 2016
@property (Strong, nonatomic) NSMutableArray * yourArray;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...