PINRemoteImage删除缓存

时间:2015-10-23 23:05:28

标签: ios objective-c caching uiimageview

我在iOS App中使用PINRemoteImage在UIImageView上设置图像。我总是有相同的图像链接,但同时图像可以更改(我可以上传不同的图像),但每当我在UIImageView上调用pin_setImageFromURL时,它总是设置一个旧图像(不是我删除应用程序并重新安装它)。我发现调用[[[PINRemoteImageManager sharedImageManager] defaultImageCache] removeAllObjects]将从缓存中删除图像,但只有当我关闭并重新打开应用程序时,有人知道如何在调用upper方法后立即强制app更新缓存吗?

2 个答案:

答案 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)
}