使用情节提要连接深入NSSplitView插座 [英] Connecting drill-down NSSplitView outlets using Storyboards

查看:35
本文介绍了使用情节提要连接深入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插座的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆