2013-07-02 74 views
0

我有一個包含節標題的表視圖。我想要同時顯示行內容和節標題。目前,他們沒有。我知道這是爲什麼。我必須調用服務器來獲取數據來填充行。當我完成這些時,標題已經顯示出來了。我的問題是,如何讓行顯示自己的行時呢?Section Headers和Row Content ...希望它們同時顯示

如果重要,我使用AFnetworking來完成我的網絡電話。我使用的是iOS 6.1,但我想支持iOS 5(如果它很重要)。

+0

當網絡響應回來時,您不能只爲數據模型添加部分嗎?如果沒有數據模型和視圖控制器的細節,很難更具體。 –

+0

你如何做到上述?我已經重載了函數(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView來獲取節標題。我假設應用程序在想要顯示標題時調用這個函數。現在,問題變成了如何在「正確」時間調用這種方法。 – user678392

+0

我昨天發佈了答案。你現在好嗎? –

回答

0

您的委託方法需要考慮到數據是異步進入的。讓我們暫時假設你的數據模型由一個數組部分組成,數組中的每個元素都是一個包含標題和行數據數組的字典。你numberOfRowsInSection應該是這樣的:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [sectionsArray count]; 
} 

所以當sectionsArray是空的,表視圖就會知道有零段和什麼都不會被顯示出來。當你的異步數據進入時,你填充sectionsArray,然後調用[tableView reloadData]numberOfRowsInSection將被再次調用,這次會返回非零數量的部分,並且該表將自行填充。

如果您想使用第三方庫(如TLIndexPathTools),所有這些設置都會更容易。它可以自動將數據組織到各個部分中,併爲標準化數據模型提供許多便利方法,以幫助實現委託方法。嘗試運行JSON示例項目和see my comments關於異步加載

+0

事實上,問題是在我真正獲得數據之前,部分標題已經確定。所以在我真正獲得數據之前,這些設置和顯示方式。 – user678392

+0

準確地說,這就是爲什麼我說「當網絡響應回來時,你能不能僅僅爲你的數據模型添加部分?」在評論中。 –

相關問題