我无法重新加载NSTableView。常规的reloadData方法不起作用:
[_tableView reloadData];
应用程序启动时,NSTableView会正确填充。 tableview将数据源和委托设置为AppDelegate,tableView的引用插座也设置为AppDelegate。
我对此很陌生 - 而且我不确定如何排除故障。环顾四周,我认为我在IB中的连接可能不正确,但是我尝试了很多不同的组合,但没有一个会让reloadData函数运行。我试图将reloadData方法添加到我知道正在运行的其他函数中,但是,它似乎只运行reloadData并且什么也不做 - 没有错误或警告。
任何帮助将不胜感激 - 我更喜欢如何实际解决问题而不是解决方案的提示 - 我不是免费代码。 :)
答案 0 :(得分:1)
有些事情要尝试:
验证是否正在调用您的数据源。在数据源中放置断点,最好是在以下位置:
– numberOfRowsInTableView:
- tableView:objectValueForTableColumn:row:
并验证是否正在调用这些函数。
通过在 - reloadData
调用处设置断点并检查dataSource是否设置正确,验证_tableView的dataSource是否设置为提供数据的类。您可以通过在调试器中运行以下命令来执行此操作:
po [_tableView dataSource]
验证您的数据源-numberOfRowsInTableView:
方法返回的数字是否大于1.这将确保表格中有一些内容供您查看!
答案 1 :(得分:1)
我想通了 - 我的数组是在我班级的init方法中生成的。它应该是在numberOfRowsInTableView方法中生成的。 reloadTable被调用并且正在工作,并且数组正在改变,但是,实际上并没有重新生成数组变量。