【发布时间】:2018-03-20 05:56:16
【问题描述】:
我正在研究 CleanSwift 架构。我在图中看到演示者和关联的场景路由器之间没有直接通信,
但通常在某些情况下,演示者只需要路由到另一个视图控制器。我想知道它是否允许演示者直接调用路由器 routeToOtherView() 函数,而不是在视图控制器中调用一个额外的函数来简单地重定向。
【问题讨论】:
-
这通常会破坏数据流,因为有时您需要从控制器传递一些数据到 segue 并且演示者无法从 UI 请求数据
-
谢谢@tereks,但是如果没有数据怎么办,我们可以在路由器中使用两种方法,一种用于数据,一种用于无数据。当没有数据时,我们从presenter调用,当需要数据时,我们通过控制器调用。 ??你有什么建议?
-
恕我直言,路由器的存储和调用位置没有太大区别,我们有 VIPER 和演示者持有路由器,所以为什么你不能在代码中使用一些 VIPER。更重要的是为整个项目和个人利益保持相同的架构
标签: ios swift design-patterns clean-architecture