iOS 的图片下载框架很多,其中有代表性的有 SDWebImage (23.9k star),Kingfisher (19.4k),这里推荐另一款轻量级的图片下载框架:Nuke。
Nuke ILS 提供了一种在您的应用程序中下载和显示图像的有效方法。得益于清晰简洁的 API,它易于学习和使用。它的架构支持许多强大的功能,同时提供几乎无限的定制可能性。
尽管功能众多,但该框架还是很精简的,编译时间不到 3 秒 Nuke 的自动化测试套件是代码库本身大小的 2 倍,可确保出色的可靠性。每个功能都经过精心设计并针对性能进行了优化。
Nuke 有一点非常吸引人的是,它有非常详细的文档。Nuke 提供三种类型的文档:指南、教程和 API 参考。
指南可在官网 https://kean.blog/nuke/guides/welcome 找到,分为三大部分:
目前有一个最新的教程已经发布在 raywenderlich.com 上:Nuke Tutorial for iOS: Getting Started https://www.raywenderlich.com/11070743-nuke-tutorial-for-ios-getting-started。
API 参考单独托管(https://kean-org.github.io/docs/nuke/reference/10.4.0/)并使用 swift-doc 生成。
目前可以使用几种主流的包管理器安装 Nuke,包括 SPM、CocoaPods 和 Carthage,不过目前 Nuke 倾向于支持苹果官方的 SPM,所以 CocoaPods 和 Carthage 都处于 Deprecated 状态。
使用 SPM 安装也很简单,按如下步骤来即可:
Nuke 为图像视图提供了方便的扩展,具有多个选项来控制图像视图扩展的行为。
最简单的方法是使用一行代码在图像视图中下载并显示图像:
Nuke.loadImage(with: url, into: imageView)
如果图像存储在内存缓存中,它会立即显示,没有动画。如果没有,首先使用图像管道加载图像。
当然还可以从 Table View 中去加载图片。当然,Nuke 还有许多高级使用方法,有兴趣的开发者可以去研究并尝试使用。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8