2009-08-12 48 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

相关问题