使用MVVM RxSwift导航到另一个VC时传递数据的最佳方式?

问题描述 投票:-1回答:1

我是RxSwift和MVVM的新手,我的旧项目过去曾通过“准备segue”在VC之间传递数据。目前,我已成功将RxSwift和MVVM集成到该项目中。

在VC之间传递数据的最佳实践是什么?

A)在VC1内部,-GoToAnotherVC()。简单创建Model2对象,传递数据

  Model.valueA = Model2.valueA.  

然后

   DestinationVC.model = Model2 

B]立即在VC1中创建Model2,使用Rx Magic绑定Model1.value和Model2.value

C)还有更好的方法吗?

ios swift rx-swift
1个回答
0
投票

这是一个相当广泛的主题,但我会尽量简化。对于屏幕过渡,您可能需要查看RxFlow框架:https://github.com/RxSwiftCommunity/RxFlow,我一直在使用该框架取得了很多成功。

第二件事是,您实际上并不想将数据从一个视图模型传递到下一个视图模型。相反,我建议使用某种工厂模式来创建视图模型,并在创建视图模型时通过依赖注入从模型层传递所有需要的对象。这样,每个视图模型都将能够从模型层检索所需的任何数据,而无需依赖其他视图模型。同样,这使得编写适当的单元测试成为一件容易的事。

© www.soinside.com 2019 - 2024. All rights reserved.