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

时间:2017-07-18 14:22:33

标签: ios swift image-caching

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

  1. 如何删除单张图片?
  2. 如何从磁盘和内存缓存中删除所有图像?
  3. 在尝试之前我还没有尝试检查文档,所以投票结果因为我没有附加代码也不是很好。

1 个答案:

答案 0 :(得分:1)

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

因此,如果您使用the comment上Sergey Di提到的Nuke共享实例,则可以按以下代码清除磁盘中存储的图像

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

如果您使用自定义的共享ImagePipeline,这有点复杂,但是您可以像下面的代码一样

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

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