使用Kingfisher如何缓存保留相同网址的新图片?

时间:2018-01-04 14:44:31

标签: swift kingfisher

我意识到有一个强制刷新的选项,但我正在寻找一种解决方案,它仍然可以缓存图像,而不必每次都从网络加载。

目前,如果我尝试使用相同的网址设置新图片,则只显示上一张图片,因为该图片已被缓存,并且不会覆盖新网址。

1 个答案:

答案 0 :(得分:2)

找到我自己的解决方案虽然它可能不是最好的方法。

首先,当我更新图像时,我更改了一个公共变量来反映这一点。然后,我检查图像是否被缓存,如果是,则将其删除。

import Kingfisher

if self.imageHasUpdated {
      if ImageCache.default.isImageCached(forKey: image.absoluteString).cached {
               print("Image is cached")
               ImageCache.default.removeImage(forKey: image.absoluteString)
               self.imageHasUpdated = false
      }
}

最后我正常更新图片。

imageView.kf.setImage(with: imageURL, placeholder: nil, options: nil)