我在iOS App中使用PINRemoteImage在UIImageView上设置图像。我总是有相同的图像链接,但同时图像可以更改(我可以上传不同的图像),但每当我在UIImageView上调用pin_setImageFromURL时,它总是设置一个旧图像(不是我删除应用程序并重新安装它)。我发现调用[[[PINRemoteImageManager sharedImageManager] defaultImageCache] removeAllObjects]将从缓存中删除图像,但只有当我关闭并重新打开应用程序时,有人知道如何在调用upper方法后立即强制app更新缓存吗?
答案 0 :(得分:2)
我发现了这种清除缓存的方法:
[[[PINRemoteImageManager sharedImageManager] cache] removeObjectForKey:
[[PINRemoteImageManager sharedImageManager]cacheKeyForURL:your_URL processorKey:nil]];
因此,在- (void)viewWillAppear:(BOOL)animated
中,您可以使用your_URL再次设置ImageView。
这就是我身边的伎俩;)
答案 1 :(得分:0)
Swift中用于从缓存中删除图像的简单解决方案是:
import PINRemoteImage
import PINCache
if let cacheKey = PINRemoteImageManager.sharedImageManager().cacheKeyForURL(NSURL(string: "http://your-image-url"), processorKey: nil) {
PINRemoteImageManager.sharedImageManager().cache.removeObjectForKey(cacheKey, block: nil)
}