无法在字典中添加Imageview引用进行查看

时间:2012-10-04 02:52:40

标签: iphone ios cocoa-touch

我不确定我是否正确地执行此操作,但实质上我想在控制器加载时实例化我的uiimageviews。之后,当我实现一个在计时器上执行的方法时,我想根据索引获取uiimageview的引用并将其添加到视图中。

我正在使用NSMutableDictionary。我在同一个方法中使用了所有代码来测试它。不应该[self.view addSubview:poster];将第一张图像放在当前视图中?

self.images = [NSMutableDictionary dictionary];

CGRect imageFrame = CGRectMake(0.0, 0.0, 1024.0, 280.0);


UIImageView *image_one = [[UIImageView alloc] initWithFrame:imageFrame];
image_one.image = [UIImage imageNamed:@"image_one.png"];
NSString *theKey = [NSString stringWithFormat:@"%d",0];
[self.images setObject:image_one forKey:theKey];





UIImageView *image_two = [[UIImageView alloc] initWithFrame:imageFrame];
image_two.image = [UIImage imageNamed:@"image_two.png"];
NSString *theKey1 = [NSString stringWithFormat:@"%d",1];
[self.images setObject:image_two forKey:theKey1];



UIImageView *poster = (UIImageView *)[self.images objectForKey:0];
[self.view addSubview:poster];

1 个答案:

答案 0 :(得分:1)

首先,我建议使用NSMutableArray。由于您无论如何都是通过索引引用数组中的项目,因此也可以使用数组。

虽然使用此代码,但您应该更改一些内容。您应该分配NSMutableArray而不是使用自动释放的版本。

当您访问UIImageView时,键是字符串,而不是整数。所以,它应该是:

UIImageView *poster = (UIImageView *)[self.images objectForKey:@"0"];