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

vis*_*kar 6 image-caching ios swift

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

  1. 如何删除单张图片?
  2. 如何从磁盘以及内存缓存中删除所有映像?

在尝试之前,我没有尝试过要检查文档的任何内容,所以投反对票是因为我没有附加代码是不合理的。

SCE*_*NEE 2

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

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

Nuke.Cache.shared.removeAll()
Nuke.DataLoader.sharedUrlCache.removeAllCachedResponses()
Run Code Online (Sandbox Code Playgroud)

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

(ImagePipeline.shared.configuration.dataLoader as? DataLoader)?.session.configuration.urlCache?.removeAllCachedResponses()
Run Code Online (Sandbox Code Playgroud)

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