推荐一款轻量高效的开源 Swift 图片加载框架
共 1326字,需浏览 3分钟
·
2021-12-27 15:54
iOS 的图片下载框架很多,其中有代表性的有 SDWebImage (23.9k star),Kingfisher (19.4k),这里推荐另一款轻量级的图片下载框架:Nuke。
Nuke ILS 提供了一种在您的应用程序中下载和显示图像的有效方法。得益于清晰简洁的 API,它易于学习和使用。它的架构支持许多强大的功能,同时提供几乎无限的定制可能性。
尽管功能众多,但该框架还是很精简的,编译时间不到 3 秒 Nuke 的自动化测试套件是代码库本身大小的 2 倍,可确保出色的可靠性。每个功能都经过精心设计并针对性能进行了优化。
文档
Nuke 有一点非常吸引人的是,它有非常详细的文档。Nuke 提供三种类型的文档:指南、教程和 API 参考。
指南可在官网 https://kean.blog/nuke/guides/welcome 找到,分为三大部分:
Basic:涵盖使用该框架的基础知识的用户指南
Advanced:涵盖更高级主题的用户指南
Guide:关于特定主题的深入指南
目前有一个最新的教程已经发布在 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 安装也很简单,按如下步骤来即可:
在工程中选择 File ▸ Swift Packages ▸ Add Package Dependency
在打开的对话框中,输入 https://github.com/kean/Nuke.git,然后单击下一步
在面板的下拉菜单中选择 Up to Next Major,然后在框中输入 9.1.0。这指定版本最低为 9.1.0,最高为 10.0.0,但不包括 10.0.0。然后选择 Next 并等待 Xcode 验证包。
确保选择了目标 Far Out Photos,然后单击完成。
安装包后,您的项目导航器应如下所示。
使用
Nuke 为图像视图提供了方便的扩展,具有多个选项来控制图像视图扩展的行为。
最简单的方法是使用一行代码在图像视图中下载并显示图像:
Nuke.loadImage(with: url, into: imageView)
如果图像存储在内存缓存中,它会立即显示,没有动画。如果没有,首先使用图像管道加载图像。
当然还可以从 Table View 中去加载图片。当然,Nuke 还有许多高级使用方法,有兴趣的开发者可以去研究并尝试使用。