Почему мой объект не добавляется в массив? - PullRequest
1 голос
/ 15 мая 2011

Я не могу добавить объекты в простой NSMutableArray.У меня есть ссылка на цель-c рядом со мной, и она работает для простой строки.Но мне нужно добавить реальные объекты.Пожалуйста, скажите мне, что я делаю не так здесь.

Код:

TBXMLElement *hubImage = [TBXML childElementNamed:@"image" parentElement:[TBXML childElementNamed:@"images" parentElement:pieceXML]];
if(hubImage) {
    do {
        HubPieceImage *tmpImage = [[HubPieceImage alloc] initWithXML:hubImage];
        [self.images addObject: tmpImage];
        HubPieceImage *tmpImage2 = [self.images lastObject];
        NSLog(@"image  : %@",  tmpImage.asset_url);
        NSLog(@"image 2: %@",  tmpImage2.asset_url);
    } while ((hubImage = hubImage->nextSibling));
}
NSLog(@"count  : %i", [self.images count]);

Возвращает это в журнале, поскольку оно проходит через два объекта:

image  : http://farm6.static.flickr.com/5215/5533190578_4v629a79e5.jpg
image 2: (null)
image  : http://farm3.static.flickr.com/2774/5416668522_fdcr19aed3.jpg
image 2: (null)
count  : 0

На самом деле массивКажется, не заполнить вообще (учитывая количество: 0)

Спасибо за помощь

Ответы [ 3 ]

2 голосов
/ 15 мая 2011

Просто для удовольствия попробуйте это:

    HubPieceImage *tmpImage = [[HubPieceImage alloc] initWithXML:hubImage];
    NSAssert(self.images, @"Whoops! self.images is NULL");
    [self.images addObject: tmpImage];

Просто может быть ваша проблема! То есть, self.images может быть нулевым.

0 голосов
/ 15 мая 2011
images = [[NSMutableArray alloc] initWithCapacity:10];

Пожалуйста, убедитесь, что вы вызвали alloc и init, прежде чем

0 голосов
/ 15 мая 2011

Я нашел проблему!
Я не инициализировал массив так:

self.images = [[NSMutableArray alloc] init];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...