如何动态更新 NSTreeController 和 NSOutlineView?
How to dynamically update an NSTreeController and NSOutlineView?
当 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];
当 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];