2011-05-15 16 views
1

単純なNSMutableArrayにオブジェクトを追加できません。私は、私の隣に客観的な参照があり、簡単な文字列のために働いている。しかし、私は実際のオブジェクトを追加する必要があります。私がここで間違っていることを教えてください。オブジェクトが配列に追加されないのはなぜですか?

コード:これは、ログにそれは二つのオブジェクトをループとして

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)

助けてくれてありがとう

+1

あなたの前のallocとinitを呼び出していることを確認してくださいself.imagesの実装がどのようなものが見えますか? – servn

答えて

0

問題が見つかりました!
私はそうのような配列を初期化しませんでした:

self.images = [[NSMutableArray alloc] init]; 
+0

これは、保持されているプロパティーの場合は、 '-autorelease'メッセージを追加することをお勧めします。 –

+0

あなたの答えを受け入れることを忘れないでください。そうすれば、人々はこの質問がまだ解決されていないと思わないでしょう。 – idz

2

楽しみのためだけに、この方法を試してください。

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

はちょうどあなたの問題かもしれません!つまり、self.imagesはゼロかもしれません。

0
images = [[NSMutableArray alloc] initWithCapacity:10]; 

あなたは

関連する問題