2012-11-17 30 views
-1

好的。我是一個經驗豐富的iOS開發人員,我總是碰到的一件事是如何在一個很好的mannor中填充tableview。 如果你的應用程序是隻有一個tableview的數以千計的應用程序之一,你可以使用cellForRowAtIndexPath:datasource-method罰款幾個if()從句。UITableVIew,cellForIndexPath:獲得手的

但是我維護的應用程序是非常大,並且有很多動態細胞在順序和設計上都會發生變化,如果()沒有人 - 甚至是你自己 - 可以長期保持,那麼你將會完全感到油膩。

所以我決定啓動一個想法的線程來解決這個混亂的東西。所以任何想法都是很好的輸入。

一個想法可能是創建一個UITableViewCells的集合,並在cellForRowAtIndexPath中查詢該集合:.

另一個想法可能是建立一個你想要的樹的整個對象圖,然後查詢它並且有一個工廠類來根據當前對象構建你的UITableViewCell。

請讓我聽聽您如何在您的應用中解決此業務 - 以及解決方案長期如何運作。 Pro的和Con的歡迎:-)

+0

我在找的是關於如何在大規模tableview中構建數據槓桿的具體示例。 – esbenr

回答

1

Stackoverflow不是一個論壇(其中可能會找到線程和討論這是適當的),但一個面向編程的問題的集合。

採取這一說法,從FAQ的第二部分:

如果您的問這個問題的動機是:「我想參加有關討論______」,那麼你不應該問這裏。

如果您想大量針對您的問題的想法,也許#1的chatrooms將是一個更好的地方或者look-,也有在互聯網上的其他地方,這將是一個完美的幾個論壇就此主題進行討論。

但是,如果您只是想以一種更有組織的方式管理動態UITableViewCell的單一方式,則可能需要編輯帖子以提示答案而不是討論。在這問題上,我從來沒有使用動態細胞過量,但對於少量,我覺得創建其他功能(如

- (UITableViewCell *)tableView:(UITableView *)tableView cellType1ForRowAtIndexPath:(NSIndexPath *)indexPath

)來處理這些細胞的創建工作正常,如果我正確理解你的話。我使用了一個系統,其中cellForRowAtIndexPath只是對這些其他函數進行幾次調用,雖然它可能不是組織代碼的最佳方式,但它試圖將所有內容都包含在單個函數中,這當然是一個重大改進。 :)

+0

感謝您花時間回答。我想這個論壇只適用於那些只做雜亂代碼而不關心體系結構和代碼結構的車庫編程人員 - 這對於處理大批量應用程序和大規模應用程序時非常重要。傷心。 – esbenr