我正在尝试在我的iOS项目中应用library(data.table)
setDT(xxx)[, n := .N, rleid(x_int)]
架构,并且我已经阅读了一些文章,例如this one,据说:
(...)我们可以制作应用程序范围的路由器服务,该服务将负责执行程序集和视图到视图演示文稿
但我没有找到任何这类课程的代码示例,我真的很感激有人可以解释为MVVM
程序集实现这种“路由器”类的适当方法,或者说我在哪里可以找到一个例子。
答案 0 :(得分:2)
MVVM
通常不会在Clean Architecture
或VIPER
等Clean Swift
应用程序中使用路由器。
在MVVM
中,您在UIViewController
中实例化根AppDelegate
,而不是设置ViewModel
并将其分配给视图控制器viewModel
属性。稍后,可以在MVVM
中配置升级prepareForSegue
场景。
This is a good explanation of MVVM,它也链接到示例项目。
您当然可以将这些概念添加到MVVM
。如果您希望这样做,可以查看this Clean Swift example project,调整Router
和Configurator
的实施概念,并制定您自己的自定义MVVM
方法。
您的问题Who is responsible for setting up my MVVM scene
和who is responsible for routing in-between scenes
非常好,因为您正在查明MVVM
的一个弱点:在这方面未明确的责任。
第二个主要弱点是ViewModel
和View
之间的双向沟通。
双向通信也是VIPER
(View <-> Presenter
和Presenter <-> Interactor
)中的一个问题。
处理所有上述问题的唯一iOS特定方法(我知道)是Clean Swift
。当我离开主题时,我不再写这里了。