gpt4 book ai didi

ios - 在 MVVM + Coordinator 中,如何处理 subview ?

转载 作者:行者123 更新时间:2023-12-03 10:31:08 26 4
gpt4 key购买 nike

我正在开发一个 iOS MVVM + Coordinator/RxSwift 项目(非 swiftUI)。
在 groundViewController 中,屏幕上有多个项目,用户可以点击任何项目来调用该项目的详细 View 。点击一个项目后,详细 View 将滑入,当用户点击另一个项目时,详细 View 将滑出,然后再次滑入更新信息。 detailView 是半屏大小,用户也可以点击 groundViewController 上的空白区域来关闭详细 View (滑出动画)。(所以只有一个 detailView)
我决定将详细 View 制作为 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 的滑入/滑出动画?

最佳答案

本地面 View 收到点击时,它会告诉地面 View 模型。

  • 地面 View 模型告诉地面协调员。
  • 地面协调员告诉当前细节协调员(如果有的话)解雇。
  • 当前的细节协调员驳回了它的观点。
  • 地面协调员创建一个新的细节协调员。
  • 地面协调员告诉新的细节协调员进行演示。
  • 新的细节协调器创建细节 View 模型和细节
    看法。它将详细 View 模型传递给详细 View 。
  • 细节协调器显示细节 View 。

  • 在创建和销毁项目的确切时间存在一些变化,但以上是总体思路。

    关于ios - 在 MVVM + Coordinator 中,如何处理 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65264087/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com