ios - 如何获取缓存图像 SDWebImage 的数据

标签 ios swift sdwebimage

我正在使用 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/

相关文章:

ios - SDWebimage 在自定义 UITableViewCell 中加载图像,但是当滚动图像时随机在其他单元格中加载

ios - Xcode11 命令 PhaseScriptExecution 因 SDWebImage 的非零退出代码而失败

iphone - 如何只绘制文本的轮廓,而不绘制填充本身?

ios - 自定义按钮的初始化程序

ios - 我需要将所有 Unity 和 Xcode 项目文件添加到 git 存储库吗?

swift - 'type: Undefined' 会默认为 AnyObject 吗?

swift - Swift 中解包值的命名约定

ios - 使用 SDWebImage 下载大图像时应用程序崩溃?

ios - Amazon S3 使用 Objective C 重命名对象

ios - 使用 UIPageViewController 将 PageCurl 转换为滚动