使用情节提要连接深入NSSplitView插座
本教程将介绍使用情节提要连接深入NSSplitView插座的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我有一个管理向下钻取层次结构的NSSplitView
。父/左侧显示组,而子/右侧接收组选择已更改的通知,并更新以显示子项目。
使用情节提要创建NSSplitView
时,会创建3个场景:一个用于拆分视图本身,一个用于右/左NSViewController
实例。
这里的问题是,我有两个控制器也充当NSTableViewDataSource
项,并且控制器应该具有指向控制器的IBOutlet
,以便它可以提供选择已更改的直接通知。
但是!因为这些控制器位于不同的场景中,我无法连接它们。我也不能将它们都上移到拆分视图的父场景中,因为它们将无法访问NSTableView
插座。(表也不会将控制器引用为委托/数据源。)
我需要在这里使用NSNotification
吗?它看起来如此间接和模糊,而且我还没有在Mac上找到基于段的方法。
推荐答案
新的NSSplitViewController和NSTabViewController类是苹果所称的容器控制器。您可以使用NSViewController中的新属性获取对容器内其他控制器的引用
@property (readonly) NSViewController *parentViewController
@property (copy) NSArray *childViewControllers
例如,如果您希望从父表控制器获取对子表控制器的引用。在父表控制器视图DidLoad中,您可以执行以下操作
myChildTableController = [self.parentViewController childViewControllers][1];
或子表控制器反之亦然
myParentTableController = [self.parentViewController childViewControllers][0];
好了关于使用情节提要连接深入NSSplitView插座的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。