2009-08-12 57 views
1

對於我的申請,我有一個UIViewController和約8 UIView s。視圖是通過Interface Builder鏈接的視圖控制器的所有屬性(IBOutlet)。所以當視圖控制器加載時,所有的視圖也被加載,並且我有內置的方法在不同視圖之間來回切換。將所有視圖鏈接到一個視圖控制器是一種不好的做法嗎?

將它們全部鏈接到一個視圖控制器是否不好 - 每個視圖都應該有它自己的視圖控制器嗎?因爲它們都鏈接到一個,所以我假設它們全都在內存中,並且從未被釋放,因爲視圖控制器本身從未被釋放。

這是什麼標準做法?

回答

4

如果您有一堆視圖始終在屏幕上同時顯示,那麼它們應該由一個UIViewController控制。

如果你有一堆視圖會在完全控制屏幕之間交替,那麼每個視圖應該有它自己的UIViewController

如果你有一個總是在屏幕上,該屏幕可以改變另一種觀點的代表組成部分,那麼你應該有一個UIViewController管理主視圖以及一個UIViewController每個子視圖的單一視圖。

(任何時候你有一個觀點,即有時會在屏幕上,有時可以關閉屏幕,你或許應該使用一個UIViewController來管理它的壽命。)

+0

AHM ..你會用怎樣一個準確單獨使用UIViewController來管理_subview_?從UIViewController文檔:「您使用UIViewController的每個實例來管理全屏視圖。」 – 2009-08-12 19:08:57

+0

有許多'UIViewController'的子類不管理全屏視圖,比如'UITabBarController'。即使該視圖不是全屏,它仍然可以管理視圖的生命週期。 – 2009-08-12 19:27:11

+0

很好的解釋John,謝謝! – 2009-08-12 20:42:03

相關問題