UIImageView无法显示新图像

时间:2014-05-10 18:42:13

标签: ios uiimageview

我有一个图像缓存类,可以根据需要下载图标并缓存它们。在我的视图控制器中,在viewDidAppear中,我有:

// (showIcon is a UIImageView from the storyboard)
showIcon.image = [[LRImageCache imageCache] imageForURL:iconURL completionTarget:self action:@selector(updateImage:)];

如果图像已经缓存,则会在此处返回,并正确显示。否则,返回占位符图像,缓存类尝试下载图像。当(如果)成功时,它会调用目标/操作:

- (void)updateImage:(UIImage *)image
{
    showIcon.image = image;
}

在该行上设置断点可确认' image'是正确的,下载的图像 - 但它没有显示!

我无能为力,但我想我错过了一些非常明显的东西......

1 个答案:

答案 0 :(得分:0)

您正在调用期待参数的updateImage:,您使用您的代码调用该方法,但是您没有提供参数。

首先考虑创建一个图像对象:

UIImage *myImage =  [[LRImageCache imageCache] imageForURL:iconURL completionTarget:self action:@selector(updateImage)];

从updateImage方法中删除参数(记住在设置图像时从选择器中删除冒号。

- (void)updateImage{
    showIcon.image = myImage;
}