2014-03-07 26 views
0

我有一個tabBarController,它與幾個tableViewController s鏈接。帶有標籤欄控制器的iOS數據

這些tableViewController■找一個自定義頁眉部分(的.xib),所以我的文件結構類似以下內容:

MainViewController.h 
MainViewController.m 

TableHeader.xib 
TableHeader.h 
TableHeader.m 

當我加載MainViewController.m這個自定義頁眉節,我送NSString的功能表頭。

的問題是,當用戶示出了第一的tableview,第二,第三,等等(I在函數viewForHeaderInSection發送它).;當他回到每個示例的第一個tableview時,我發送到TableHeader的NSString是錯誤的,因爲我的函數viewForHeaderInSection未被調用,所以我的TableHeader加載了最後一個tableviewcontroller。當然,我需要在表頭中有正確的NSString,而不是舊的。

這很難形容......我希望它很清楚。

THX,

回答

1

要強制的tableView重新加載數據,您可以撥打:

[tableView reloadData]; or [self.tableView reloadData]; 

將它添加到viewDidAppeare:動畫方法,它會強制表視圖刷新數據。 我看不到你得到正確的NSString的方式,也許你必須添加這個邏輯viewDidAppeare:動畫以及重新加載數據之前。

//擴展

如果你有大量的數據,你可以重新裝載只有一個部分:

[tableView reloadSections: withRowAnimation:]; 

或者你也可以創建自定義標題視圖,您可以添加屬性/伊娃它和你可以重新加載只是頭:

[myCustomHederView setNeedsDisplay]; 
+0

只是不總是重新加載,如果數據集很大。 –

+0

問題是,這是我重新加載我的所有數據只是爲了:/(它需要時間去做) – deveLost

+0

請參閱擴展答案。 – Greg

相關問題