7

在 Xcode 中,实用程序应用程序模板创建一个项目:

主视图,主视图控制器

翻转视图,翻转视图控制器

在我的应用程序中,这两个视图对应于主 UI 和一个首选项屏幕。显然,我希望首选项反映在主 UI 中并保存到磁盘以记住设置。我知道如何做那部分。

问题是,在查看类似应用程序的示例代码时,我发现有些人将大部分活动代码放在一个视图中,而视图控制器只是一个存根,而另一些则相反。

在决定将我的大部分功能放在哪里时,是否有经验法则可供参考?

4

3 回答 3

2

如果你想成为一个 MVC 纯粹主义者,视图切换和事件处理之类的东西应该放在控制器中,视图构建代码应该放在视图中。

但是,如果您在整个应用程序中保持一致,则可以将一些应用程序逻辑放入视图中。

于 2009-06-28T05:24:36.647 回答
2

一种决定方法:如果您的应用程序收到内存不足警告,则默认行为是任何当前不可见的视图都可能被销毁。这意味着,如果您有任何无法轻松重新创建的状态信息,则最好不要将其保留在您的视图中。

所以这取决于你的大部分功能在做什么:如果它维护用户创建的信息,它需要在视图控制器中。

于 2009-06-28T05:30:45.097 回答
1

StackOverflow 上已经有几个问题涉及模型-视图-控制器。例如,请参阅“MVC”中的“控制器”中的内容?.

在您的特定场景中,偏好本身是一种跟踪用户偏好的模型。保存和加载这些偏好是控制器的职责。显示这些偏好并为用户提供改变它们的方法是视图的职责。最后,当用户更改这些偏好时,视图会将其报告给控制器,控制器会对模型进行适当的更改。

于 2009-06-28T05:31:27.903 回答