如何刷新Kingfisher缓存的一系列图像?

时间:2018-10-18 04:16:55

标签: ios caching browser-cache kingfisher

A previous question似乎在问类似的问题,但没有得到回答。

我是否可以仅更改服务器上的图像,保持相同的URL,并依靠HTTP 304和其他机制来重新加载图像的新版本,即使它们存在于缓存中?

我首先想到的是,对图像的任何更改都必须同时更改图像名称以强制刷新。

可能的解决方法-假设我有一堆图像,它们共享一个公用URL根,例如https://server/path/A/image.pnghttps://server/path/B/anotherimage.png。我可以从一个路径中删除所有图像而不会使另一路径无效吗?例如,当某个引用由https://server/path/A的内容表示的信息块更改时,我可以重新加载与之关联的每个图像,但不能重新加载其他文件夹中的图像?

到目前为止,使用UIImageView扩展名是我对Kingfisher的基本用法:

myImage.kf.setImage(with: imageURL)

2 个答案:

答案 0 :(得分:0)

希望这对您有帮助 跳过缓存搜索,再次强制下载图片

imageView.kf.setImage(with: url, options: [.forceRefresh])

答案 1 :(得分:0)

首先为Kingfisher分配一个默认的占位符,然后强制刷新

let tempImage = UIImage(named: "user_placeholder")
 self.avatarImageView.kf.indicatorType = .activity
 self.avatarImageView.kf.setImage(with: avatarURL,placeholder: tempImage,options: [.forceRefresh])