我正在尝试将多个UIImageView实例添加到NSMutableDictionar的NSMutableArray中。
我这样做,能够返回并拉出UIImageView引用,以更改这些图像的位置。
似乎当我从字典中提取信息时,它只返回一个空指针......
有关我应该如何实施的任何建议?可能有一种更简单的方法来存储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值来表示移动的变化率)
答案 0 :(得分:1)
上面的代码看起来不对我好。
每次循环都会创建一个新的NSMutableDictionary * dictBall。循环存在后是否保留它?从您的代码看起来不像它。这可能就是你的对象为零的原因。
将此行移到for循环之前/之前,你应该没问题。
另外,您确定要将UIViewImage存储在字典中吗?为什么不只是一个ID(基于标签)和坐标(CGPoint或CGRect)?这样你就可以使用标签通过标签找到UIimageView并将其移动到你想要的地方?更便宜的记忆。