这可能在很大程度上是优惠的,但我想知道是否有任何理由来决定这种或那种方式。故事板设计模式(分享或不分享)
在用故事板进行设计时,您总是会看到许多视图控制器。我正在研究严格MVC方法的开销,其中每个控制器都在它自己的UIViewController子类中实现,并具有相应的UIView子类(甚至MVVM的视图模型类),并且这似乎很快就会失控 - 它不需要时间将几十个文件添加到项目中(很多功能很少)。另一种方法是将所有视图链接到代表所有故事板功能的通用控制器。
我的倾向是,如果你没有实际控制代码的任何个人视图控制器,然后将其全部组合成一个不应该伤害到代码的可读性(以及可增强其在添加大量的源文件)。另一方面,如果你对任何特定的视图控制器都有很强的功能,那么它应该封装在它自己的控制器中。
在大多数情况下,我会将所有控制器构建为尽可能重用(封装在自己的自定义UIViewController子类中)。尽管故事板看起来是针对通常没有几个入口点的视图序列,但它还是有趣的。如果你没有在每个VC(视图控制器)多的功能将它们合并所有的代码放到一个VC
恕我直言,每个故事板视图控制器应该有自己的'UIViewController'子类。每个'UIViewController'子类都应该封装特定的功能,并且不应该(通常)在多个视图控制器之间共享。如果你确实有共享代码,那么你可以将它分离出它自己的文件/库/类。不要让你的'UIViewController'子类变得太大又笨拙;这使得他们很难维护。 –
所以我最终创建了自定义的UIViewController子类,但是使用共享视图模型对象来跟踪视图中所有正在收集的数据。 – greg