2010-06-08 85 views
0

我讀過關於此問題,我能找到的每一個答案,包括這個答案在這裏這樣:link text分組表視圖空部分

的什麼,我試圖完成可能會看起來像最有名的例子聯繫人應用程序的詳細信息屏幕。一些聯繫人有一個電話號碼和電子郵件,其他人有多個電話號碼,但沒有電子郵件等。我的數據從遠程服務器進來,一些人的記錄可能有一個電話號碼,其他人可能有3個電子郵件地址,但沒有電話,其他人可能有2個電話號碼和2個電子郵件地址等。

有關如何處理此問題的任何建議,同樣使用聯繫人作爲示例(分組表視圖,每部分可變數部分和變量行)。在我上面發佈的鏈接中,其中一個有意義的答案是簡單地使用deleteSections:withRowAnimation:但我不清楚如何在這種情況下執行該操作,因爲我沒有使用commitEditingStyle,我只是想'刪除'在飛行中的部分是空的。

謝謝你的時間。

回答

1

爲什麼你想要建立空單元格,只是爲了再次移除它們? 編寫一個類,用於將檢索到的數據格式化爲您的UITableViewController可以理解的數據對象,例如SectionDataObject。

首先定義一些部分,例如電子郵件部分,一個電話號碼段等 讓你SectionDataObject舉行的數組,每個部分類別的,一個emailsArray,一個phoneNumbersArray等

現在在所有的委託方法你剛纔提到的SectionDataObject的不同陣列。它不再是一個問題,如果用戶已經拿到15個電子郵件和沒有電話號碼,emailsArray將返回計數15和phoneNumberArray將返回計數0

0

剛剛從- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section返回0對於那些空的部分。

+0

嗨,感謝您的職位。在numberOfRowsInSection中返回0會在該部分以前留下明顯的空白區域。 – CraigH 2010-06-08 22:55:23

+1

然後你可以維護一個可變的數組數組作爲你的表的數據源。頂部數組代表段,內部數組代表段。這樣,您的頂部數組將包含確切數量的部分(根據數據 - 如果其中一個部分沒有數據,則頂部數組中沒有該部分的元素)。 – 2010-06-09 05:51:15