2011-01-12 22 views
0

在我的應用程序中,我有一個產品對象的詳細屏幕。用戶界面要求使用具有3個部分的分組表格視圖類型界面來顯示產品詳細信息。爲非統一數據定義UITableView的單元格

此表中的一些單元格是有條件的。例如,默認情況下,第三部分應該顯示一個名爲「註冊產品」的單元,並且在點擊時應該推送註冊視圖。如果產品已經註冊,則第三部分應改爲顯示兩個單元格用於保修,另一個用於維修信息。點擊時,這些將分別進入不同的屏幕。而且,他們都需要在表格單元上顯示某種數據。保修單元說明保修何時到期,維修單元何時說明下次維修到期。

問題(finnally):什麼是定義表格在任何給定情況下應具有的單元格和部分的最佳方式。主要是我正在尋找一種可維護的方式來做到這一點,因爲我已經有一些關於不可維護的方法來做到這一點。

基於顯示的產品,我應該在viewWillAppear期間創建某種鍵控字典並添加/刪除項目嗎?我很擔心在各種tableView事件中我必須使用的Switch語句數來檢查給定索引路徑中的單元格類型。

任何想法?

回答

0

看一看Matt Gallagher's Tableview Classes。他們爲可自定義的Tableviews提供了一個簡單且可擴展的框架。細胞可以從NIB加載或以代碼構建。有一個簡單的界面來爲每個單元提供數據(- (void)configureForData:(id)dataObject)。

填充泰伯維很簡單:

[self addSectionAtIndex:0 withAnimation:UITableViewRowAnimationNone]; 
[self appendRowToSection:0 
    cellClass:[NibLoadedCell class] 
    cellData:@"This is row 0" 
    withAnimation:UITableViewRowAnimationLeft]; 

對於數據的持久化存儲,我建議創建一個的plist字典和負載/從那裏保存數據。見Property List Programming Guide。對於複雜的數據庫結構,使用核心數據存儲。