2011-02-08 104 views
4

我有一个从NIB文件加载的UITableView。屏幕的控制器是符合UITableView委托协议的UIViewController的子类。这是由UINavigationController管理的视图堆栈中的第二个屏幕。如何让reloadData在UITableView上工作

在我的viewWillAppear的违规视图中运行两个NSFetchRequests并更新我的表中的3个部分2与这些NSFetchRequests的结果。在viewWillAppear中的底部我打电话

[self.myTable reloadData]; 

myTable的是一个IBOutlet到的UITableView的屏幕。

无论出于何种原因,表格不会重新载入数据,并且当我从导航控制器层次结构中更深的视图返回时,表格的委托方法都不会被调用。

如何获取重新加载的表格?

谢谢。

+0

您是否检查过myTable不是零?你是否也检查过该表的dataSource和delegate不是零?不要忘记Cocoa的“无信息”规则! – viggio24 2011-02-08 19:48:53

+0

当你的信息为零时会发生什么? – Aaronium112 2011-02-09 14:59:55

回答

6

相反self.tableView的使用:

[myTable reloadData]; 

因此,如果你定义你的IBOulet为myTable的,则需要使用该名称。

self.myTable = [[UITableView alloc] initWithFrame:CGRectZero]; 
1

您是否也与该UITableView的数据源和委托出口的笔尖文件:如果你初始化为myTable就像在你的头

self.myTable会的工作?除IBOutlet之外,还必须链接这两者。