如何清除从 SDWebImage 加载的所有缓存图像?

How to clear all cached images loaded from SDWebImage?

我已通过 SDWebImage 将所有图像加载到我的应用程序中。下载和缓存效果很好,但我想制作一个按钮,可以清除整个应用程序中的所有缓存图像。

我的一个标签栏视图上有一个 "Clear Cache" 按钮作为 UIButton。我怎样才能做到这一点,当点击这个按钮时,所有缓存的图像都被删除并需要重新下载?

使用 Swift.

谢谢!

试试这个:

@IBAction func actClearCache(sender:AnyObject) {

   let objCache = SDImageCache.sharedImageCache()
   objCache.clearMemory()
   objCache.cleanDisk()

}

如果您想完全清除缓存,请执行以下操作:

目标-c:

- (IBAction)clearCache:(id)sender {
    [[SDImageCache sharedImageCache]clearMemory];
    [[SDImageCache sharedImageCache]clearDisk];
}

Swift 5

SDImageCache.shared.clearMemory()
SDImageCache.shared.clearDisk()

Swift 3.0

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

Swift 4.2 , Xcode 10

pod 'SDWebImage', '5.0.0-beta3'

import SDWebImage

 @IBAction func ClearCacheButtonClick(_ sender: UIButton) {
     SDImageCache.shared.clearMemory()
     SDImageCache.shared.clearDisk()
 }

Swift 5

import SDWebImage

  SDImageCache.shared.clearMemory()

  SDImageCache.shared.clearDisk()

从缓存中删除所有数据

SDImageCache.shared.clear(with: .all) {
    print("Disk & memory data cleared")
}

仅从内存中删除数据

SDImageCache.shared.clear(with: .memory) {
    print("Memory data cleared")
}

从磁盘中删除数据

SDImageCache.shared.clear(with: .disk) {
    print("Disk data cleared")
}