我是RxSwift和MVVM的新手,我的旧项目曾经通过"准备segue"在VC之间传递数据。目前,我已经成功地将RxSwift和MVVM集成到项目中。
在VC之间传递数据的最佳实践是什么?
A( 在 VC1 中,-GoToOtherVC((。 简单创建模型2对象,传递数据
Model.valueA = Model2.valueA.
然后
DestinationVC.model = Model2
B(立即在VC1中创建模型2,使用Rx Magic绑定模型1.值和模型2.值
C( 有更好的方法吗?
这是一个相当广泛的话题,但我会尽量保持简短。对于屏幕过渡,您可能需要查看RxFlow框架:我一直在使用 https://github.com/RxSwiftCommunity/RxFlow,并取得了很大的成功。
第二件事是,您并不真正希望将数据从一个视图模型传递到下一个视图模型。相反,我建议使用某种工厂模式来创建视图模型,并在创建它们时通过依赖注入从模型层传入所有需要的对象。这样,每个视图模型将能够从模型层检索所需的任何数据片段,而无需依赖其他视图模型。此外,这使得编写适当的单元测试成为相对小菜一碟。