我有一个图像缓存类,可以根据需要下载图标并缓存它们。在我的视图控制器中,在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'是正确的,下载的图像 - 但它没有显示!
我无能为力,但我想我错过了一些非常明显的东西......
答案 0 :(得分:0)
您正在调用期待参数的updateImage:
,您使用您的代码调用该方法,但是您没有提供参数。
首先考虑创建一个图像对象:
UIImage *myImage = [[LRImageCache imageCache] imageForURL:iconURL completionTarget:self action:@selector(updateImage)];
从updateImage方法中删除参数(记住在设置图像时从选择器中删除冒号。
- (void)updateImage{
showIcon.image = myImage;
}