我正在使用 SDWebImage 库在我的 UICollectionView 中缓存网络图像:
cell.packItemImage.sd_setImage(with: URL(string: smileImageUrl[indexPath.row]))
但我想将缓存的图片保存在本地文件中,而不是再次下载它们
FileManager.default.createFile(atPath: newPath, contents: Data(contentsOf: URL(string: snapchildvalue[Constants.smiles.smileImageUrl] as! String)!), attributes: nil)
有没有办法获取缓存图片的数据
最佳答案
SDWebImage
默认自动缓存下载的图片。您可以使用 SDImageCache
从缓存中检索图像。当前应用程序 session 有内存缓存,会更快,还有磁盘缓存。用法示例:
if let image = SDImageCache.shared().imageFromDiskCache(forKey: imageURL.absoluteString) {
//use image
}
if let image = SDImageCache.shared().imageFromMemoryCache(forKey: imageURL.absoluteString) {
//use image
}
还要确保在文件中import SDWebImage
。 (如果您使用的是 Swift/Carthage,它将是 import WebImage
关于ios - 如何获取缓存图像 SDWebImage 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360747/