我在XIB中连接了一个NSTableView和一个NSArrayController。在我的应用中,我异步加载数据并不断调用[_arrayController addObject:someNewObject]
。我原本以为要更新NSTableView,而不得不在前台/后台之间切换应用程序以查看更新。
所以我尝试通过添加以下语句之一让NSTableView在每个addObject上刷新自己
[_tableView reloadData]
[_tableView setNeedsDisplay:YES]
[_tableView display]
但是,当NSTableView在前台运行时,它不会自行刷新。
有什么想法吗?
答案 0 :(得分:2)
在AC上尝试rearrangeObjects
,但请注意it's not synchronous。
因此,addObject
然后rearrangeObjects
然后dispatch_async
执行任何依赖于显示新对象的tableView的代码。链接问题/答案中的示例。
答案 1 :(得分:-1)
您应该使用Flux架构并做出反应。
您创建数据存储,在那里存储数据,然后您创建对存储中的更改做出反应的订阅者。
这里很棒的教程:http://www.raywenderlich.com/74106/mvvm-tutorial-with-reactivecocoa-part-1