iOS:仅当远程映像未更改时,SDWebImage缓存

时间:2019-12-06 16:35:23

标签: ios swift sdwebimage

我正在使用以下代码将图像加载到视图中:

private func setUpImage(imageFile: String, cell: ShowCollectionViewCell) {
    cell.showImageView.sd_imageIndicator = SDWebImageActivityIndicator.gray
    cell.showImageView.sd_setImage(with: URL(string: imageFile), placeholderImage: nil, options: .refreshCached)
}

问题是,如果我们替换服务器中的图像,即使用户关闭应用程序并重新启动它,该图像也不会在应用程序中刷新。只有全新安装才能获得新映像。

SDWebImage可以在使用缓存版本之前检测图像是否已远程更改吗?

我正在使用带有Swift 4.2和XCode 11.1的最新版本的SDWebImage。

2 个答案:

答案 0 :(得分:0)

我在StackOverflow中搜索,发现了。

here

import SDWebImage

@IBAction func clearCache(sender: UIButton) {
    SDImageCache.sharedImageCache().clearMemory()
    SDImageCache.sharedImageCache().clearDisk()
}

如@ {guidev所述,您尝试重置缓存。

该文档可能很旧,但是我相信您可以使用它。

答案 1 :(得分:0)

缓存基于URL,因此如果要重新下载图像,则需要更改url名称。考虑将类似上次修改日期的内容附加到网址中。或者在图片更新时发送推送,然后使用removeImageForKey从缓存中手动退出网址。