我们使用开源项目Kingfisher来实现图片缓存功能。计算图片缓存和清理图片缓存也是通过Kingfisher来实现。
计算图片缓存
func getCacheSize() {
ImageCache.default.calculateDiskCacheSize { (size) in
self.sizeStr = ByteCountFormatter.string(fromByteCount: Int64(size), countStyle: .binary)
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
清理图片缓存
func clearCache() {
//清除图片缓存
let cache = ImageCache.default
cache.clearMemoryCache()
cache.clearDiskCache {
DispatchQueue.main.async {
Utility.showHudMessage(text: NSLocalizedString("s.清除缓存成功", comment: ""), view: self.view)
self.getCacheSize()
}
}
}
参考资料:https://github.com/onevcat/Kingfisher/wiki/Cheat-Sheet#cache