Objective c 重新加载NSTableView数据无效
我试图在我的应用程序中更新Objective c 重新加载NSTableView数据无效,objective-c,cocoa,nstableview,Objective C,Cocoa,Nstableview,我试图在我的应用程序中更新NSTableView,但我发现没有任何效果。 我的项目中有两个类: AppDelegate TableViewController是NSTableViewDelegate和 NSTableViewDataSource 当我尝试添加新行时,我可以看到ArrayController(向表提供数据)包含新元素,但NSTableView不包含新元素。 我的表格也作为属性连接到TableViewController,但它没有连接到AppDelegate。 我试着打过电话 [
NSTableView
,但我发现没有任何效果。
我的项目中有两个类:
AppDelegate
是TableViewController
和NSTableViewDelegate
NSTableViewDataSource
ArrayController
(向表提供数据)包含新元素,但NSTableView
不包含新元素。
我的表格也作为属性连接到TableViewController
,但它没有连接到AppDelegate
。
我试着打过电话
[self.table performselectornmainthread:@selector(reloadData)with object:nil waitUntilDone:NO]代码>
及
其中,表
是NSTableView连接的属性
是否有其他方法刷新表视图
编辑
问题已解决。是否将数据添加到TableViewController中的阵列中?如果是这样,您是否在将数据添加到数组后立即尝试自行添加[self.table reloadData]?这样就可以获得更新的数据,而不必使用您包装它的方法。performSelector和dispatch_异步方法似乎没有必要,但由于我看不到所有代码,您可能会因为一个不明显的原因而将它们放在那里。是的,我添加了NSArrayController
,它以IBOutlet
的形式为类提供列数据,我尝试调用[selt.table reloadData]
但这没用。我可以在下班后的几个小时内发布我的全部代码。你是如何解决的?自从切换到OSX 10.9.InAppDelegate
后,我就创建了NSObject
插座,并将TableViewController
连接到我的.xib
文件中,然后从AppDelegate
调用它的方法,它对我有效。Hhmmm,我不太明白你的意思"... 然后从AppDelegate我可以调用它的方法…”。在我的控制器中,我调用[[self tableView]reloadData];当我在中获取新数据时。在OSX 10.8中,我的表视图会自动更新,现在在10.9下,它只会在我调整窗口大小时更新。我在控制器中编写了额外的iAction
,其中我有[myTable reloadData]
和从AppDelegate
我称之为iAction
方法我正在使用10.9,在我的例子中,AppDelegate
以一定的时间间隔执行它
dispatch_async(dispatch_get_main_queue(), ^{
[self.table reloadData];
});