MVVM + Coordinator中,如何处理子视图?
In MVVM + Coordinator, how to deal with sub view?
我正在开发一个 iOS MVVM + Coordinator/RxSwift 项目(非 swiftUI)。
在groundViewController中,屏幕上有多个item,用户可以点击任意一个item调用该item的详细视图。详细视图将在点击一个项目后滑入,当用户点击另一个项目时,详细视图将滑出然后再次滑入并更新信息。 detailedView是半屏尺寸,用户也可以点击groundViewController上的空白space关闭详细视图(滑出动画)。(所以只有一个detailedView)
我决定将该详细视图制作成 UIView,它将拥有自己的协调器和 ViewModel,并添加到 groundViewControll.view。但是我现在对如何在它们之间或事件流之间进行通信感到困惑。
问题:在 MVVM/Coordinator 模式中,将此流程设为:
是否正确
groundViewController (receive a tap on the object) - >
groundViewModel - >
groundCoordinator (creat and pass itemID ) - >
detailedViewCoordinator (creat) - >
detailedViewModel and detialedView
detialedView的滑动in/out动画应该由谁负责?
当地面视图收到点击时,它会告诉地面视图模型。
- 地面视图模型告诉地面协调员
- 地面协调员告诉当前的细节协调员(如果有)解散。
- 当前的细节协调员驳回了它的观点。
- 地面协调员创建了一个新的细节协调员。
- 地面协调员通知新的细节协调员出席。
- 新的细节协调员创建细节视图模型和细节
看法。它将细节视图模型传递给细节视图。
- 细节协调员呈现细节视图。
项目创建和销毁的确切时间存在一些差异,但以上是总体思路。
我正在开发一个 iOS MVVM + Coordinator/RxSwift 项目(非 swiftUI)。
在groundViewController中,屏幕上有多个item,用户可以点击任意一个item调用该item的详细视图。详细视图将在点击一个项目后滑入,当用户点击另一个项目时,详细视图将滑出然后再次滑入并更新信息。 detailedView是半屏尺寸,用户也可以点击groundViewController上的空白space关闭详细视图(滑出动画)。(所以只有一个detailedView)
我决定将该详细视图制作成 UIView,它将拥有自己的协调器和 ViewModel,并添加到 groundViewControll.view。但是我现在对如何在它们之间或事件流之间进行通信感到困惑。
问题:在 MVVM/Coordinator 模式中,将此流程设为:
是否正确groundViewController (receive a tap on the object) - >
groundViewModel - >
groundCoordinator (creat and pass itemID ) - >
detailedViewCoordinator (creat) - >
detailedViewModel and detialedView
detialedView的滑动in/out动画应该由谁负责?
当地面视图收到点击时,它会告诉地面视图模型。
- 地面视图模型告诉地面协调员
- 地面协调员告诉当前的细节协调员(如果有)解散。
- 当前的细节协调员驳回了它的观点。
- 地面协调员创建了一个新的细节协调员。
- 地面协调员通知新的细节协调员出席。
- 新的细节协调员创建细节视图模型和细节 看法。它将细节视图模型传递给细节视图。
- 细节协调员呈现细节视图。
项目创建和销毁的确切时间存在一些差异,但以上是总体思路。