SKImageCache 2.2.0

SKImageCache 2.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2018年7月
SPM支持 SPM

Sean Kladek 维护。



  • Sean Kladek

SKImageCache

Travis Status Codecov Status Pod Version Platform Status License Status

SKImageCache 提供一个对象来处理图像加载和缓存。在 workspace 中的 SampleProject 中查看一些使用示例。


安装

Cocoapods

安装通过 Cocoapods 支持。将以下内容添加到您的 Podfile 中,以便在您希望使用 SKImageCache 的目标中

pod 'SKImageCache'

初始化

没有公开的初始化器。所有与缓存的交互应通过共享实例处理

ImageCache.shared

实现

将图像添加到缓存

使用cacheImage(_:forURL:)方法将图像添加到缓存。图像的远程URL是必需的,并用作从缓存中访问图像的键。

清空缓存

可以通过调用emptyCache()方法清空整个缓存。

从缓存中检索图像

可以使用getImage(url:skipCache:completion:) -> URLSessionDataTask?方法从缓存中检索图像。URL是图像的远程URL。如果需要强制请求访问URL的远程源,可以使用skipCache参数。完成闭包将包含图像、指示图像是否从缓存中返回的布尔值,以及在检索图像时遇到的任何错误。方法本身返回一个可选的URLSessionDataTask。如果要为检索图像发出远程请求,则此数据任务应该是远程任务。这允许在必要时取消图像请求,例如,如果请求图像的视图不再可见。

移除单个对象

可以使用removeObjectAtURL(_:)方法从缓存中移除单个对象。

ImageCacheDelegate

在缓存中找不到图片时,将从代理对象请求图片。这允许将图片缓存连接到您现有的网络层。当图片在缓存中没有找到且应从外部源加载时,将调用代理对象的loadImageAtURL(_:completion:) -> URLSessionDataTask?方法。

LocalImageController

提供LocalImageController类,允许管理从磁盘保存、检索和删除图片。这可以独立于ImageCache使用。

保存图片

要保存图片,使用saveJPEG(_:compression:fileName:directory:)savePNG(_:fileName:directory:)方法。图片将被转换为数据并在磁盘上以方法对应格式保存。文件名是在磁盘上图片的名称。目录是一个可选参数。在此传递一个路径来指定比文档目录更深的文件夹。如果文件夹不存在,它将被创建。

检索图片

可以使用getImage(imageName:directory:)方法检索图片。传递文件名称和从文档目录的路径。如果没有传入路径参数,将在文档目录中搜索。

删除目录

删除指定的文件夹及其所有内容。

UIImageView 扩展

SKImageCache 为 UIImageView 提供了一个扩展。这允许使用图片的 URL 在图像视图中设置图片。使用 setImageFromURL(_:placeholderImageName:) -> URLSessionDataTask? 方法。URL 是要获取的图片的远程 URL。占位图图片名称是在包中显示的图片的名称,直到返回远程或缓存图片。如果图片来自缓存,将会立即交换图片。如果图片来自远程源,则图片将会渐变。