nstableview重新加载不起作用

时间:2012-02-24 01:42:17

标签: objective-c cocoa nstableview

我无法重新加载NSTableView。常规的reloadData方法不起作用:

[_tableView reloadData];

应用程序启动时,NSTableView会正确填充。 tableview将数据源和委托设置为AppDelegate,tableView的引用插座也设置为AppDelegate。

我对此很陌生 - 而且我不确定如何排除故障。环顾四周,我认为我在IB中的连接可能不正确,但是我尝试了很多不同的组合,但没有一个会让reloadData函数运行。我试图将reloadData方法添加到我知道正在运行的其他函数中,但是,它似乎只运行reloadData并且什么也不做 - 没有错误或警告。

任何帮助将不胜感激 - 我更喜欢如何实际解决问题而不是解决方案的提示 - 我不是免费代码。 :)

2 个答案:

答案 0 :(得分:1)

有些事情要尝试:

  • 验证是否正在调用您的数据源。在数据源中放置断点,最好是在以下位置:

    – numberOfRowsInTableView:

    - tableView:objectValueForTableColumn:row:

并验证是否正在调用这些函数。

  • 通过在 - reloadData调用处设置断点并检查dataSource是否设置正确,验证_tableView的dataSource是否设置为提供数据的类。您可以通过在调试器中运行以下命令来执行此操作:

    po [_tableView dataSource]

  • 验证您的数据源-numberOfRowsInTableView:方法返回的数字是否大于1.这将确保表格中有一些内容供您查看!

答案 1 :(得分:1)

我想通了 - 我的数组是在我班级的init方法中生成的。它应该是在numberOfRowsInTableView方法中生成的。 reloadTable被调用并且正在工作,并且数组正在改变,但是,实际上并没有重新生成数组变量。