NSTableview刷新异步加载数据

NSTableview refresh asynchronous loading of data

我在 XIB 中将 NSTableView 与 NSArrayController 连接起来。在我的应用程序中,我异步加载数据并连续调用 [_arrayController addObject:someNewObject]。我原以为这会更新 NSTableView,但我必须在 foreground/background 之间切换应用程序才能看到更新。

所以我尝试通过添加以下语句之一让 NSTableView 在每个 addObject 上自行刷新

但是,NSTableView 在 运行 处于前台时不会自行刷新。

有什么想法吗?

你应该使用 Flux 架构并做出反应。

您创建数据存储,将数据存储在那里,然后创建对存储中的变化做出反应的订阅者。

这里有很棒的教程:http://www.raywenderlich.com/74106/mvvm-tutorial-with-reactivecocoa-part-1

在 AC 上尝试 rearrangeObjects,但要注意 it's not synchronous 也一样。

因此,addObject 然后 rearrangeObjects 然后 dispatch_async 执行任何依赖于显示新对象的 tableView 的代码。链接中的示例 question/answer.