2011-02-08 105 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之外,還必須鏈接這兩者。