Vinci
Vinci是一个用于iOS的异步图片下载器和缓存。
注意:Vinci尚处于开发初期,尽管稳定,但缺少一些重要功能。
路线图
已完成
- 异步图片下载(0.1.0)。
- 下载队列(0.1.0)。
- 组合内存和磁盘缓存(0.1.0)。
- 图像转换器(0.2.0)。
- 支持转换后缓存图像(0.2.0)。
待完成
- 自动缓存过期。
- 为
UIImageView
绑定。
用法
您可以使用共享的Vinci
单例和使用request
工厂方法来获取图片,如下所示:
Vinci.shared.request(with: url) { (image, isCached) in
imageView.image = image
}
Vinci
实例也可以使用自定义的URLSession
和VinciCache
实例进行初始化。
let session = URLSession.shared
let cache = VinciCache()
let vinci = Vinci(session: session, cache: cache)
Transformers
您可以将一个可选的Transformers
数组传递给图像处理程序,以修改图像在传递给完成处理器之前
let transformers: [Transformer] = [
MonoTransformer(color: UIColor.gray, intensity: 1.0),
ScaleTransformer(size: imageView.frame.size)
]
Vinci.shared.request(with: url, transformers: transformers) { (image, isCached) in
imageView.image = image
}
Vinci默认包含一系列转换器
ScaleTransformer
将图像调整到特定的尺寸。MonoTransformer
使用CIColorMonochrome
为图像染色。ClosureTransformer
接受一个闭包,应用自定义转换。
可以通过实现Transformer
协议创建额外的转换器。
示例
要运行示例项目,先克隆仓库,然后从示例目录运行pod install
。
要求
安装
Vinci可以通过CocoaPods获得。要安装它,请在Podfile中添加以下行
pod 'Vinci'
作者
Conor Mulligan,[email protected]
许可条款
Vinci软件遵循MIT许可证。更多信息请参阅LICENSE文件。