如何从Nuke for Swift缓存中删除图像



我一直在尝试用于图像缓存的Nuke框架,从 https://github.com/kean/Nuke 开始,在整个文档中,我无法弄清楚如何从缓存(磁盘和内存(中删除图像,我可以从缓存类"removeAll"中找到一种方法从缓存中删除图像,但我有两个问题:

  1. 如何删除单个图像?
  2. 如何从磁盘和内存缓存中删除所有图像?

我没有尝试过任何东西,我在尝试之前尝试检查文档,所以因为我没有附加代码而投票不是票价。

为了存储未处理的图像数据,Nuke使用URLCache实例。因此,您必须调用适当的URLCache实例的removeAllCachedResponses()

因此,如果您使用Sergey Di在评论中提到的Nuke共享实例,则可以清除存储在磁盘中的图像,如以下代码所示

Nuke.Cache.shared.removeAll()
Nuke.DataLoader.sharedUrlCache.removeAllCachedResponses()

如果您使用自定义共享 ImagePipeline,它有点复杂,但您可以像以下代码一样执行

(ImagePipeline.shared.configuration.dataLoader as? DataLoader)?.session.configuration.urlCache?.removeAllCachedResponses()

我希望我的回答对您有所帮助。

最新更新