如何从故事板中引用兄弟视图控制器

时间:2015-02-28 18:07:38

标签: objective-c macos cocoa

我正在尝试使用视图控制器和故事板为OSX创建一个主详细信息应用程序。我有两个兄弟视图控制器(leftright)与父拆分视图控制器。

left子节点是一个表vc,并且有一个NSArrayController用于绑定。我希望用户选择一个表格视图单元格,并让right子视图控制器显示有关选择的详细信息(类似于Mail应用程序界面)。

我坚持的部分是如何从left引用right视图控制器?我想抓住left的NSArrayController,以便right可以绑定到当前选择。

我尝试将一个Outlet添加到right并通过Interface Builder建立连接,但似乎IB不允许您跨场景拖动连接。然后我去找一个程序化的解决方案。我假设NSStoryboard会有API来根据某个id查找一个视图控制器,但是没有太多的API暴露。

我最终得到了一个简明的解决方案,即通过父视图控制器,并搜索其子项以查找left的awakeFromNib中的right

使用Storyboard时,是否有更优雅的方式连接视图控制器?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

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