我有一个简单的NSOutlineView绑定到NSTreeController,它提供对我的分层数据模型的访问。我想将其作为主/详细视图,并在一些绑定视图中显示有关所选节点的一些信息。但是,我遇到了一堆死胡同:
1)NSOutlineView的文档读取:
某些委托方法尚未迁移到NSOutlineViewDelegate协议,包括:
outlineViewSelectionDidChange:
outlineViewSelectionIsChanging:
......这几乎就是我想要捕获的事件。虽然文件没有注明日期,但我认为我应该将“尚未迁移”视为“不要屏住呼吸。”
2)将大纲视图附加到IBOutlet提供了一些选择事件处理 - 但仅在鼠标单击时。使用键盘光标键导航层次结构不会产生任何事件。
3)NSTreeController似乎没有为这个真正基本的功能提供任何支持。
所以...我错过了什么?还是有一种更简单的方法来完成这个任务,而不是继承NSTreeController?
提前致谢...
答案 0 :(得分:3)
你应该多做一些实验 - 实际上outlineViewSelectionDidChange:和outlineViewSelectionIsChanging:现在都在工作(至少在OSX 10.8中)。如果您使用的OS X版本没有这些委托方法,您仍然可以添加一个观察者来获取通知 - 它们自10.0以来一直存在