2012-08-23 49 views
0

在我的應用程序中有一個UITableView出現在幾個不同的UIViewControllers - 相同的數據庫,相同的設計,相同的IB。不同之處在於,在每個不同的UIViewController中,UITableView的大小和從數據庫中取得的特定數據是不同的。iOS >>分離.h和.m文件來管理UITableView

我想創建一組.h & .m文件,它們將爲所有不同的UIViewControllers管理這些UITableView,然後我可以避免重複UITableView方法。

我熟悉如何通過創建一個UIView類型的新的Objective-C類文件來爲UIView做到這一點。有沒有辦法做同樣的UITableView或我需要創建一個UIView.m & .h文件並將它們委託給UITableView?

回答

1

編輯:我第一次誤解了你的問題 - 讓我再試一次。

您想要一個可以處理數據源和委託操作的類,只要使用表即可。所以這是一個輔助類,它將是NSObject的一個子類。有幾種方法可以配置這個功能 - 也就是說,您幾乎肯定需要一個「委託」 - 實例化此類的對象,以及在發生事件時最需要更新的對象。

  • 因此,創建一個協議 - 當你設計這個,你會發現到底什麼需要你編碼的類,並嘗試使用它。

  • 來填充這個類,你有幾種方法:

1)使用一個NSArray財產,並填充字典的數組。每個字典將有一行的信息。或者如果有多個部分,則數組具有數組,每個數組都包含帶有用於填充單元格的信息的字典。

2)提供大量包含的信息來配置每個細胞與

3)使用的協議,以請求在需要的基礎上從「所有者」類信息的類的屬性。

+0

謝謝大衛。儘管我理解類方法是如何工作的,但我必須說,我從來沒有用類方法創建自己的類。所以我想確保我明白如何實現它。所以......我應該做的是有任何類類型(NSObject,UIView等),並實現所有的UITableView相關方法;然後實現這兩個類方法(+而不是 - ),然後在UIViewControllers中有像「UITableView * myTV = [MyClass specialTableWithFrame:etc ...]」?請告訴我,如果我在正確的方向 –