我有一个从NIB文件加载的UITableView。屏幕控制器是UIViewController的子类,符合UITableView委托协议。这是由UINavigationController管理的一堆视图中的第二个屏幕。
在我的viewWillAppear中,对于有问题的视图,我运行了两个NSFetchRequests,并使用这些NSFetchRequests的结果更新了我表中3个部分中的2个部分。在viewWillAppear的底部,我调用
[self.myTable reloadData];
myTable是屏幕的UITableView的IBOutlet。
无论出于何种原因,表都没有重新加载数据,当我从导航控制器层次结构中更深层的视图返回时,没有调用表的任何委托方法。
如何让表重新加载?
感谢。
答案 0 :(得分:6)
使用:
而不是self.tableView[myTable reloadData];
因此,如果您将IBOulet定义为 myTable ,则需要使用该名称。
如果你在标题中初始化了myTable,self.myTable会起作用:
self.myTable = [[UITableView alloc] initWithFrame:CGRectZero];
答案 1 :(得分:1)
您是否还将UITableView链接到nib文件中的数据源和委托出口?除了IBOutlet之外,您还必须将这两者联系起来。