gpt4 book ai didi

iphone - MVC 中的 View 应该有自己的类吗?

转载 作者:行者123 更新时间:2023-12-03 21:10:37 25 4
gpt4 key购买 nike

我对与 iPhone 开发相关的 MVC 范例有点困惑。目前,我将应用程序分为:

  1. 模型(FooModel.h、FooModel.m)

  2. View (FooView.xib)

  3. Controller (FooController.h, FooController.m)

但是我应该使用 UIView 的子类(FooView.h、FooView.m)来显示 View..?

这只是一个简单的游戏应用程序。

最佳答案

NIB 既不是 Controller 也不是 View ; NIB 由 Controller (UIViewController.nibName) 引用并用于实例化 Controller 的 View 。默认的 Nib 名称是 Controller 类的名称(即,如果您不设置 Nib 名称,它将自动查找“MyViewController.nib”)。

如果您需要编写完全独立的 UI 代码,它应该位于 View 中。这可能是一个自定义控件或一组控件(例如颜色选择器 View )。

如果您需要在 UI 中实现任何特定于 Foo 的内容(例如自定义绘图/触摸处理),您可以添加 FooView.m。此外,如果您需要访问 FooView 的 subview ,将它们设置为 FooView(而不是 FooController)上的导出可能会更容易;这意味着您不需要在 viewDidUnload 中取消设置它们。

标准命名约定是称其为“FooViewController”,因为它与 UIView 层次结构紧密耦合(并且您可能有一个额外的 FooController 专门管理模型;也许还有一个 FooWebController 用于同一模型的 Web 界面) )。

最终,从长远来看,做最简单的事情。就我个人而言,我不会添加额外的类,直到很明显它们变得必要为止,但我尝试构建我的代码,以便很容易重构一些位。一旦我编写了更多的代码,我就可以更好地了解它应该如何构建,也可以更好地了解还需要做多少工作。这可能意味着我花更多的时间进行重构,但这也意味着我花更少的时间进行(错误的)设计,或者编写由于某些架构更改而只使用一次的类。

希望这也意味着版本可以更快推出。这个很重要。 UI 需求变化太快,无法在其上花费大量时间;我们即将对其中一款应用程序进行全面的 UI 改造,以更好地支持 iPad 和多任务处理。

关于iphone - MVC 中的 View 应该有自己的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com