我使用SDWebImage在我的应用程序中加载所有图像。下载和缓存都很好,但我想制作一个按钮,可以清除整个应用程序中缓存的所有图像。
我在选项卡栏视图中设置了一个名为“Clear Cache”的UIButton。当点击这个按钮时,如何使所有缓存的图像被删除并需要重新下载?
使用Swift语言实现。
谢谢!
我使用SDWebImage在我的应用程序中加载所有图像。下载和缓存都很好,但我想制作一个按钮,可以清除整个应用程序中缓存的所有图像。
我在选项卡栏视图中设置了一个名为“Clear Cache”的UIButton。当点击这个按钮时,如何使所有缓存的图像被删除并需要重新下载?
使用Swift语言实现。
谢谢!
如果您想完全清除缓存,请执行以下操作:
- (IBAction)clearCache:(id)sender {
[[SDImageCache sharedImageCache]clearMemory];
[[SDImageCache sharedImageCache]clearDisk];
}
SDImageCache.shared.clearMemory()
SDImageCache.shared.clearDisk()
@IBAction func clearCache(sender: UIButton) {
SDImageCache.shared().clearMemory()
SDImageCache.shared().clearDisk()
}
@IBAction func actClearCache(sender:AnyObject) {
let objCache = SDImageCache.sharedImageCache()
objCache.clearMemory()
objCache.cleanDisk()
}
删除缓存中的所有数据
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")
}
Swift 4.2,Xcode 10
使用以下代码添加 'SDWebImage' 库:
pod 'SDWebImage', '5.0.0-beta3'
import SDWebImage
@IBAction func ClearCacheButtonClick(_ sender: UIButton) {
SDImageCache.shared.clearMemory()
SDImageCache.shared.clearDisk()
}
import SDWebImage
SDImageCache.shared.clearMemory()
SDImageCache.shared.clearDisk()
func clearDisk(onCompletion completion: SDWebImageNoParamsBlock? = nil)
,所以onCompletion
参数可以省略。 - alobaili