0

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

これを行っているのは、UIImageView参照に戻って引き出し、これらの画像の位置を変更できるようにするためです。

辞書から情報を引き出すと、nullポインタしか返さないようです...

これをどのように実装すべきかについての提案はありますか?n個の画像のリストを保存し、後でそれらを参照できるようにするためのより簡単な方法があるかもしれません。

// (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

(私は辞書を使用しています。これは、移動の変化率のdy / dx値も保存しているためです)

4

1 に答える 1

1

上記のコードは私には問題ないようです。

ループを通過するたびに、新しいNSMutableDictionary*dictBallを作成しています。ループが存在した後、何かがそれを保持していますか?あなたのコードからはそれのようには見えません。これが、オブジェクトがnilである理由である可能性があります。

この行をforループの外側/前に移動すると、問題がないはずです。

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

于 2009-05-07T23:05:34.413 に答える