展开OutlineViewItem时-
(void) outlineViewItemDidExpand:(NSNotification *)notification
-,我能够将对象成功添加到TreeController(日志语句在层次结构的正确位置显示了新添加的对象),但是OutlineView / UI并未更新以反映该插入。
无济于事,我已经习惯了
[self.outlineView reloadItem:nil reloadChildren:YES]
,[self.outlineView reloadData]
,甚至[self.outlineView setHidden:YES]
然后[self.outlineView setHidden:NO]
尝试强制重新加载结构。
所有这些都是在Objective-C中以编程方式完成的。
最佳答案
6小时后,我明白了。
我需要更新NSTreeController缓存,这是通过rearrangeObjects
方法实现的。
所以我的问题的答案是:
[self.cloudDirectoryTreeController rearrangeObjects];