关于我正在为学校开发的应用程序,我有一个简单的问题。在我的应用程序中,我们有5个用户可以玩的独特游戏。但是,每个游戏都有2种模式,正常和硬。要做到这一点的最佳方法是什么。目前我将我的第一个游戏作为两个独立的视图控制器,并根据所需的难度进行调用(一个名为normal_cstars和hard_cstars)。我想知道这是否有效,因为每个视图控制器都有.h,.m和.xib。是否可以让视图控制器具有两个单独的视图,您将如何实现此目的。
谢谢,
Ryan Wong
答案 0 :(得分:0)
当然。您可以选择在viewcontrollers中显示的两个视图中的哪一个。只需在视图控制器中发送self.view即可作为您要使用的视图。
构建此方法的一种方法是拥有两个共享相同控件的独立视图类。控件全部由视图控制器处理,而每个视图都绘制自己的布局。
并且不要担心在两个主要视图之间共享子视图 - 或者您可以保留两个视图控制器,并且只有共享类来构成每个视图控制器的视图和控件介绍。仅仅因为你有两个视图控制器并不意味着你必须有冗余代码。将内容分成不同的类,从动画视图到控件。
还有很多其他可能性。查看Apple的一些示例,了解如何使用多个视图控制器。
答案 1 :(得分:0)
你真的认为你需要两个不同的观点吗? (虽然我不确定你的比赛)
由于游戏模式是特定于模型的,因此行为为“正常”或“硬”的模型实际上会在视图中呈现游戏。
如果不久的将来,如果您想要实现“简单”模式,那么您最终会得到另一个视图控制器并可能会遇到代码冗余。
解决方案我会想:
优点? - 我们没有违反开放原则。
此外,还有各种设计模式可以实现这一目标。由您自己决定最适合要求的那些。