Boomerang
Boomerang 是一个用于 Swift 应用程序的 MVVM 库
由于 UIKit 中缺少 ViewModel 概念,Boomerang 通过协议定义了一系列场景,并共享一套通用、可重用的方法来构建应用中的屏幕。
在此基础上,它提供了一组扩展,用于常见的组件,如 UICollectionView
、UITableView
、UIViewController
,以便它们可以与 ViewModel 兼容。
使用 RxSwift(以及 RxDataSources)绑定(不是必需的,但强烈建议),Boomerang 可以真正提高项目工作效率,并帮助保持简单和轻盈。
关键特性 / TLDR
- 为您的整个应用提供
ViewModel
概念。 ListViewModel
用于处理ViewModel
的列表。列表中的每个项目代表视图的内容(表视图/集合视图中的一个 "cell")NavigationViewModel
用于处理通过应用导航的业务逻辑Route
协议用于设计和封装场景如何导航到另一个场景。为您的应用编写一次性的pushViewController
:)- 不再需要为您的集合/表格视图编写数据源和代理!
- 自动调整表格视图和集合视图的大小。轻而易举。
- TDD 就绪:使用 RxBoomerangTest 与您的测试目标一起快速编写与代码周围的测试。
安装
Boomerang可通过CocoaPods获取。
将以下内容添加到您的Podfile中
pod 'Boomerang'
要使用RxSwift集成,请使用
pod 'RxBoomerang`
我们曾使用
pod Boomerang/RxSwift
将Rx扩展与Boomerang集成。此方法目前仍然可用,但在您的项目文件中集成Rx扩展的方式有所不同:在此旧场景中,由于Pod的导入处理,每个包含Boomerang扩展的文件不需要import RxBoomerang
,但我们认为包管理器应当尽可能互相替换;因此,我们建议使用新的独立pod,因为这样更“面向未来”。
贡献
要集成新特性到库中,您可以打开Package.swift
文件并编辑源文件夹。
示例
您可以在Examples
文件夹中找到一些集成示例。
我们使用XcodeGen以轻松维护xcodeproj文件。
要安装XcodeGen,运行brew install xcodegen
要配置每个示例项目,请在每个文件夹中运行xcodegen