我想知道是否必须为每个视图创建一个新的ViewController。假设我有3个视图我需要3个viewControllers还是1个ViewController可以管理所有3个视图?
编辑:视图是我使用.xib文件创建的对象,因此遵循Xcode 4.3.3给出的描述:表示绘制和接收事件的矩形区域。 我的情况:我想要的是显示3个按钮的主视图,每个按钮都会显示一个新视图。这就是说3个视图中的每个视图都有相同的东西,一个tableView来显示从XML解析的数据。
再次感谢!
EndEdit中
由于
答案 0 :(得分:3)
两者都有可能,取决于您的需求。视图控制器可以轻松管理多个(子)视图(例如,每个UI控件子类UIView,您可以在单个视图控制器中拥有多个)。有时将视图放在不同的视图控制器中更方便,有时候不是。
答案 1 :(得分:2)
取决于您的情况以及您要向用户呈现的内容。如果这3个视图控制器具有非常相似的功能并且只有很小的差异,那么您可以使用相同的类并使用实例变量来指示您所处的模式。例如,如果您有歌曲,播放列表或视频列表,那些可以是同一个类,使用枚举变量来区分3种模式。如果您的观点明显不同(如歌曲列表和视频播放器),那么您通常应该为它们分别设置类。
答案 2 :(得分:2)
对于iOS,一般的最佳做法是单个视图控制器管理单个“屏幕”(或“窗口”,但当然在iOS设备上只有其中一个)。此视图控制器可能支持变量视图对象的数量(当然不是1:1视图/视图控制器的比例)。
从iOS 5开始,在单一窗口中嵌套管理多个视图的多个视图控制器现在已得到技术支持,但我仍然认为这是最好的避免。
一个窗口=一个视图控制器=多个视图。
答案 3 :(得分:1)
在一个视图控制器中,您可以管理任意数量的视图。
答案 4 :(得分:1)
最好每个wiew使用一个viewcontroller。 approch的优点如下:
任何时候您都可以转换应用程序的模板。 (例如,从表格视图到tabview或拆分视图可以快速更改)
每个视图控制器都遵循MVC架构。
如果您有n个控制器而不是尝试管理n MVC模型,那么您可以轻松地移动任何模型。
内存管理非常简单(Push and Pop自动管理内存。)
如果我们有sigle视图控制器和n个视图,那么管理内存将非常困难。 此外,我们需要保留每个视图的屏幕ID,并且还需要保留他们的切换。
如果在N个视图中使用N个视图控制器,则有很多优点。