如何从情节提要中引用兄弟视图控制器

How to reference sibling view controllers from a storyboard

我正在尝试使用视图控制器和故事板为 OSX 创建一个 master-detail 应用程序。我有两个兄弟视图控制器(leftright)和一个 parent 拆分视图控制器。

left child 是一个 table vc 并且有一个 NSArrayController 用于它的绑定。我希望用户选择 table 视图单元之一,并让 right child 视图控制器显示有关选择的详细信息(有点像邮件应用程序界面)。

我遇到的问题是如何从 right 引用 left 视图控制器?我想获取 left 的 NSArrayController,以便 right 可以绑定到当前选择。

我已经尝试向 right 添加一个 Outlet 并通过 Interface Builder 建立连接,但似乎 IB 不允许您在场景之间拖动连接。然后我去寻找一个程序化的解决方案。我假设 NSStoryboard 会 API 根据一些 id 查找视图控制器,但没有太多 API 公开。

我最终得到了一个草率的解决方案,即通过 parent 视图控制器,并搜索其 children 以在 right 的 awakeFromNib 中找到 left

那么在使用 Storyboards 时,有没有更优雅的方式来连接视图控制器呢?感谢您的帮助。

正确且唯一的方法是通过中央控制器。您基本上已经回答了您自己的问题 - 没有自动发现左右视图控制器的优雅方法。