【发布时间】:2015-05-14 11:09:25
【问题描述】:
我有一个 NSTableView 与 XIB 中的 NSArrayController 挂钩。在我的应用程序中,我异步加载数据并连续调用[_arrayController addObject:someNewObject]。我原以为这会更新 NSTableView,但我必须在前景/背景之间切换应用程序才能看到更新。
所以我尝试通过添加以下语句之一让 NSTableView 在每个 addObject 上刷新自己
[_tableView reloadData][_tableView setNeedsDisplay:YES][_tableView display]
但是,NSTableView 在前台运行时不会自行刷新。
有什么想法吗?
【问题讨论】:
-
你试过
insertObject:atArrangedObjectIndex:NSArrayController方法吗? -
addObject 应该可以工作,我刚刚尝试了一个沙盒项目,不同之处在于我在 NSString 而不是任意应用程序域对象上操作。所以不确定是否需要对绑定做些什么。
-
更正,它适用于应用程序域对象。我尝试使用 dispatch_after:..: 哪个有效,这让我认为这些更新必须在主踏板上执行(?)
标签: objective-c cocoa nstableview cocoa-bindings