2

我有一个简单的 NSOutlineView 绑定到一个 NSTreeController ,它提供对我的分层数据模型的访问。我想让它成为一个主/详细视图,并在某些绑定视图中显示有关所选节点的一些信息。但是,我遇到了一堆死胡同:

1) NSOutlineView 的文档是这样写的:

一些委托方法尚未迁移到 NSOutlineViewDelegate 协议,包括:

大纲视图SelectionDidChange:

大纲视图选择变化:

...这几乎正是我想要捕获的事件。尽管文档没有注明日期,但我认为我应该将“尚未迁移”理解为“不要屏住呼吸”。

2) 将大纲视图附加到 IBOutlet 提供了一些选择事件处理 - 但仅在单击鼠标时。使用键盘光标键导航层次结构不会产生任何事件。

3) NSTreeController 似乎没有为这个非常基本的功能提供任何支持。

所以......我错过了什么吗?或者有没有比继承 NSTreeController 更简单的方法来完成这个任务?

提前致谢...

4

1 回答 1

3

你应该做更多的试验——事实上 outlineViewSelectionDidChange: 和 outlineViewSelectionIsChanging: 现在都在工作(至少在 OSX 10.8 中)。如果你使用的任何版本的 OS X 没有这些委托方法,你仍然可以添加一个观察者来获取通知——它们从 10.0 开始就存在了

于 2012-09-04T05:46:53.587 回答