【发布时间】:2012-08-05 22:44:16
【问题描述】:
我想构建一个应用程序,其主视图大部分时间都在屏幕上。部分视图是不变的并显示主要控件。但是,有一个特殊的子视图取决于应用程序的状态。应用程序的状态以特殊的“状态对象”呈现。一次只能有一个“状态对象”处于活动状态,但它们可以有非常不同的逻辑,并且应该以不同的用户界面呈现(在这个特殊的子视图中)。
显然,我可以通过分析当前状态对象的类型,在主视图的ViewController中进行处理。我可以创建一个带有大量特定于状态对象可能具有的每个可能类的代码的 biiiig 开关,并在每次添加新的状态对象子类时添加一些代码......但这听起来不是一个好的架构对我来说。我希望状态对象或特定于它们的不同 ViewController 来控制这个特殊的视图。不幸的是,我对视图、视图控制器和委托感到有点迷失,不明白我究竟该如何实现这一点。
【问题讨论】:
标签: iphone objective-c model-view-controller architecture uiviewcontroller