我不确定我是否正确地执行此操作,但实质上我想在控制器加载时实例化我的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];
答案 0 :(得分:1)
首先,我建议使用NSMutableArray。由于您无论如何都是通过索引引用数组中的项目,因此也可以使用数组。
虽然使用此代码,但您应该更改一些内容。您应该分配NSMutableArray而不是使用自动释放的版本。
当您访问UIImageView时,键是字符串,而不是整数。所以,它应该是:
UIImageView *poster = (UIImageView *)[self.images objectForKey:@"0"];