我试图在我的应用程序中更新NSTableView,但发现没有任何效果。
我的项目中有两个课程:


AppDelegate
TableViewControllerNSTableViewDelegate并且
NSTableViewDataSource


当我尝试添加新行时,我可以看到ArrayController(向表提供数据)包含新元素,但NSTableView没有。
我的表也作为属性连接到TableViewController,但未与AppDelegate连接。
我试过打电话

[self.table performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];



dispatch_async(dispatch_get_main_queue(), ^{
    [self.table reloadData];
});


其中table是NSTableView连接的属性。

还有其他刷新表视图的方法吗?

编辑

问题解决了。

最佳答案

将数据添加到TableViewController中的数组的位置是吗?如果是这样,是否在将数据添加到数组后立即尝试自行添加[self.table reloadData]?那应该获得没有包装您的方法的更新的数据。performSelector和dispatch_async方法似乎是不必要的,但是由于我看不到所有代码,因此您可能会把它们放在那儿,原因并不明显。

关于objective-c - 重新加载NSTableView数据不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21173725/

10-11 20:15
查看更多