我最近遇到了Soroush Khanlou的Coordinator模式讨论,并决定在他的博客上阅读更多内容:http://khanlou.com/2014/09/8-patterns-to-help-you-destroy-massive-view-controller/但它变得非常混乱,我研究并经历了人生,直到我终于明白了! 这种模式可以帮助我们正常地在应用程序内管理从一个视图到另一个视图的导航。 我确定您已经看过几次此代码 让 vc = ViewController() vc.object = NSObject() 自我 .navigationController?.pushViewController(vc,动画: true ) 但不是! 这仅表示子控制器正在告诉父控制器显示,这是您的不尊重吗? 这种设计coordinator pattern将有助于将其他viewController的表示coordinator pattern封装到一个单独的对象中。 Soroush并不是唯一讨论这种将导航职责移到视图控制器之外的模式的iOS开发人员。 在标题下可以找到其他几篇文章:Krzysztof Zablocki,Alberto Debortoli等人讨论的流量控制器 。 我将直言不讳,因为无需解释Soroush如何提出这种模式的故事。 您在这里看到集成有多么容易,以及是否想采用它。 PS:我自己对协调器模式的实现可能与您之前看到的有所不同,因为每个人都只是使用对他们有用的东西 假设我们正在构建具有以下功能的应用程序 认证方式 一世。 登录 ii。 注册 家 轮廓 请注意,这些都是功能,而不是控制器。 重要的是要注意,每个功能都可以在其下具有多个控制器,并具有一个协调器来处理它们之间的导航。 现在让我们开始吧! 首先,我们需要创建我们的基本协调器协议。 它看起来像这样 协议协调员:类{ var childCoodinators:[协调员] { 获取 设置 } var navigationController:UINavigationController { 获取 设置 } func […]