【问题标题】:Best way to pass data while navigate to another VC with MVVM RxSwift?使用 MVVM RxSwift 导航到另一个 VC 时传递数据的最佳方式?
【发布时间】:2020-03-21 10:21:40
【问题描述】:

我是 RxSwift 和 MVVM 的新手,我的旧项目过去常常通过 "prepare for 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】:

这是一个相当广泛的话题,但我会尽量保持简短。对于屏幕转换,您可能需要查看 RxFlow 框架:https://github.com/RxSwiftCommunity/RxFlow,我一直在使用它并取得了很大的成功。

第二件事是你真的不想将数据从一个视图模型传递到下一个视图模型。相反,我建议使用某种工厂模式来创建视图模型,并在创建它们时通过依赖注入从模型层传入所有需要的对象。这样,每个视图模型将能够从模型层检索它需要的任何数据,而不依赖于其他视图模型。此外,这使得编写适当的单元测试变得轻而易举。

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 1970-01-01
    • 2021-03-17
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多