设计模式,多层次viewcontroller遏制的体系结构

时间:2017-02-25 09:19:20

标签: swift design-patterns architecture

我正在研究的iOS应用程序的一部分包含多级视图控制器包含。与此图view controller containment

类似

我试图以一种将每个子控制器与其自身的范围隔离开来的方式来设置交互/路由,并且通过中央路由器来处理这些交换/路由,即主控vc" 。一次只能向用户显示图表中的一个子项。每个孩子都属于父控制器,其中父母(橙色)由主vc管理。 Master不需要知道每个孩子的所有内容,因为他们已经封装在各自的父控制器中(橙色)。

例如,如果关于子A的事件需要向child-X提供一些数据,它将通知主路由器而不是直接与child-X交谈。

并非真正寻求完整的解决方案,而是寻求合适的设计模式或通信机制,以支持将子控制器隔离到其范围并整理控制器的管理。

使用swift 3(无反应式编程)

干杯

1 个答案:

答案 0 :(得分:0)

关于如何做到这一点的两个建议:(我会自己使用协议)

协议: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html

简而言之:您的masterVC可以实现一个所有孩子都可以使用的协议

<强>通知中心:
https://developer.apple.com/reference/foundation/notificationcenter

您的masterVC侦听会侦听多个“通知名称”,而所有子节点都会发出通知。