2011-11-05 39 views
-3

假設您正在開發一款ipad應用程序,並在1頁中顯示不同的數據。 在頁面底部,您想要顯示一些您希望與頁面其餘部分保持分開的信息?iOS - 設計iOS應用程序時的良好做法?

問題:

  • 你會使用一個UIViewController或UIView的獲取頁面的部分子類?
  • 在UIView中有太多邏輯是不好的做法?

我在問這個問題,因爲我在單元測試我的代碼時遇到了很多問題。一個UIViewController是容易測試,因爲它並不需要的UIView被加載,但除非它是完全加載一個UIView不可測試(在我的情況下從榫文件加載)

回答

2

這裏是我的兩分錢

1)首先,我會嘗試使用其中一種獨特的iPad控制器(特別是分割視圖控制器)。另外,我會爲你想要的兩個部分使用一個自定義的UIViewController和單獨的視圖。

2)哦,這是一個很大的問題:在UIView中有太多邏輯是不好的做法?您必須始終使用面向對象的小心;將你的設計分成類並正確使用繼承/組合,以避免無法管理的代碼。不要忘記,蘋果親切地幫助你通過MVC友好來做到這一點。

首先,在UIView中使用錯誤的邏輯是不好的做法。如果你最終存儲應該屬於模型的狀態,那麼你將會種下一些麻煩的種子。只是不要這樣做。這裏的問題不是多少邏輯,而是邏輯的類型......記住,控制器應該使用視圖,並在設計視圖時記住這些視圖。

其次,只要他們有特定的目的,您的觀點可能會很複雜。 Apple的UITableView是一個非常複雜的視圖的例子,但使用它比較直接,因爲它(在我看來)設計正確。請注意,tableview不存儲任何數據......它從數據源獲取所有數據。此外,它的目的是在單元格中顯示數據。如果您效仿這些良好實踐,複雜的視圖仍然可以管理。

最後,如果您決定製作複雜視圖,請使用組合來獲得您的好處。我可以繼續下去,但簡短的版本是,如果你使用自己的優勢並保持你的代碼組織,很多邏輯更容易管理。

相關問題