Vinci 0.2.3

Vinci 0.2.3

Conor Mulligan维护。



Vinci 0.2.3

Vinci

CI Status Version License Platform

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实例也可以使用自定义的URLSessionVinciCache实例进行初始化。

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文件。