我意识到有一个强制刷新的选项,但我正在寻找一种解决方案,它仍然可以缓存图像,而不必每次都从网络加载。
目前,如果我尝试使用相同的网址设置新图片,则只显示上一张图片,因为该图片已被缓存,并且不会覆盖新网址。
答案 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)