2009-05-07 16 views
0

NSMutableDictionarのNSMutableArrayにUIImageViewの複数のインスタンスを追加しようとしています。NSMutableDictionaryにUIImageViewを追加する

これらの画像の位置を変更するために、私はこれをやり直してUIImageView参照を引き出すことができるようにしています。

私がこれを実装する方法上の任意の提案

...それだけでNULLポインタを返すことを、私は辞書のうち、情報を引き出したときに、ということらしいですか?私も用DY/DX値が格納されるため

// (for i = 0 to 30) 

UIImageView *newBall = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ball.png"]]; 
newBall.center = CGPointMake (arc4random() % 280 + 20, arc4random() % 440 + 20); 
[self.view addSubview:newBall]; 

NSMutableDictionary *dictBall = [[[NSMutableDictionary alloc] init] autorelease]; 
[dictBall setValue:newBall forKey:@"imgBall"]; 

// the dictionary is then added to the array 

[newBall release]; 

// end for loop 

は(私は、辞書を使用しています.... n個の画像のリストを格納し、後でそれらを参照することができるようにする方法簡単に方法があるかもしれません

+0

上記のコードフラグメントは大丈夫です。あなたがやりたいことに技術的に間違ったものは何もありません。おそらく、あなたの前提やコードの他の部分を調べて戻ってみる必要があります。 親アレイに何も踏み込んでいないことを確認してください。 dy/dx値は正常に機能していますか? – amattn

答えて

1

上記のコードは私にはよく見えません。

NSMutableDictionary * dictBallをループごとに毎回作成しています。ループの後に何かを保持していますか?あなたのコードから見えません。これはあなたのオブジェクトがゼロである理由かもしれません。

forループの外側/前にこの行を移動してください。

また、UIViewImageを辞書に保存してもよろしいですか?なぜID(タグに基づく)と座標(CGPointまたはCGRect)だけではないのですか?この方法で、タグを使用してUIimageViewを検索し、いつでもどこでも移動できます。安価なメモリ賢明。

+0

申し訳ありません - それを配列に追加しています...私はちょうど上のコードサンプルでそれを置いていませんでした。 (私はそのコメントをそこに置いています...私は自分のコードを要約しようとしていましたが、もっと混乱させたかもしれません...) –

関連する問題