我想在另一个类中以编程方式设置我的OutlineView
选择。
我可以通过NSOutlineView
访问[[appDelegate outlineViewController] outlineView]
的实例。
这背后的想法是,我有一个项目列表的视图(也在 outlineview 中),我希望用户能够点击视图中的项目,以便更改 outlineviews 的选择,从而显示(所选项目的)新视图。
再次,如何以编程方式更改OutlineView
的选择?
如果问题看起来不清楚,请告诉我我该怎么做才能让它更容易理解。
答案 0 :(得分:7)
如果我理解正确,我认为您正在寻找NSOutlineView
的{{3}}方法。请注意,NSOutlineView
是NSTableView
的子类。
答案 1 :(得分:2)
对于我的情况,
我有一个NSTableView
项目来自“项目列表视图”,
和OutlineView
相似:
父A和B并不重要,但他们在此证明,在“项目列表视图”之前没有固定数量的行。
所以,我做的是,我用过
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification
我的NSTableView
委托中的方法和方法使用
NSTableView *tableView = [aNotification object];
NSInteger clickedRowInTableView = [tableView selectedRow];
在我的tableView
中获取新选定的行。
之后我获得了“项目列表视图”的行号(它动态获取它,具体取决于“父母”是否被扩展,以及他们有多少孩子),还扩展了“项目列表视图” ,如果它还没有扩大。
接下来,我将所有数字加在一起:clickedRowInTableView
+ rowNrOfItemsListView
+ 1
,1为“项目列表视图”行。
然后我使用NSOutlineView
的{{1}}(感谢Nate指出),在– selectRowIndexes:byExtendingSelection:
中设置选定的行。
我希望这对那些与我同样情况的人有所帮助。