UIImageViewをNSMutableDictionaryに追加する
-
08-07-2019 - |
質問
UIImageViewの複数のインスタンスをNSMutableDictionarの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値も保存するため、辞書を使用しています)
解決
上記のコードは私には問題ないようです。
ループを通して毎回新しいNSMutableDictionary * dictBallを作成しています。ループが存在した後にそれを保持するものはありますか?あなたのコードからはそれのように見えません。これがオブジェクトがnilである理由かもしれません。
この行をforループの外側/前に移動すると、問題ないはずです。
また、UIViewImageを辞書に保存してもよろしいですか? ID(タグに基づく)と座標(CGPointまたはCGRect)だけではないのはなぜですか?このように、タグを使用して、タグを介してUIimageViewを見つけ、必要な場所に移動できますか?賢明なメモリの方が安価です。
所属していません StackOverflow