【问题标题】:iPhone development and use of separate model files?iPhone开发和使用单独的模型文件?
【发布时间】:2011-07-01 18:05:21
【问题描述】:

当我正在加速 iPhone / IOS 开发时,我已经阅读了很多关于 MVC 的内容。然而,到目前为止,在我看到的各种示例文件中,我并没有真正看到模型、视图和控制器的单独类?

我应该如何具体了解 MVC 与最佳实践开发的 iPhone 应用程序的作用?例如,也许一个基于 NavigationController 和一些 Table Views 等。

例如:

  • 每个“iPhone UI 控制器”是否应该有一个单独的模型、视图和控制器 - 请注意,从我所看到的情况来看,iPhone 开发中似乎有 1 页 == 1 个 UI 控制器,那么我的问题实际上每个 UI Controller 是否应该有自己的 View 文件和 Model 文件?

  • 鉴于 Interface Builder 和 NIB 是事物的重要组成部分,NIB 在多大程度上被认为是 MVC 模式的一部分?例如NIB 的创建是否有效地实现了“控制器”和“视图”,让您为模型创建一个单独的类(在单独的文件中)?

  • 当您获得由多个应用程序页面(例如列表视图、编辑视图等)共享/使用的共享数据(或共享模型 - 例如项目列表)时会发生什么 - 在这种情况下在我看来,您将拥有 1 个模型,然后在单独的页面(即视图和控制器)中重用此模型实例。

希望这是有道理的......

【问题讨论】:

    标签: iphone model-view-controller uiviewcontroller interface-builder


    【解决方案1】:

    您将通过使用典型用途的对象和工具来学习 MVC。 UIView 对象用于呈现数据和接收输入(视图)。 UIViewController 响应事件并在数据模型和 UIView 层次结构(控制器)之间来回路由数据。您的数据模型存在于您想要的任何位置,有时与您的 UIViewController 子类组合在一起,有时在应用程序中作为单例类 (Model) 存在。当您将共享数据模型指定为单例类时,任何需要它的类都可以从应用程序中的任何位置访问它。通过维护这种分工,您的应用程序将趋于组织良好和模块化,并且您可以维护/扩展一个方面而无需重写程序的所有其他方面。

    Interface builder 是一种可视化构建应用程序的视图层次结构(在某种程度上也是控制层次结构)的工具。

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 2018-01-03
      • 2012-07-02
      • 2013-03-05
      • 1970-01-01
      • 2011-10-09
      • 2011-05-03
      • 1970-01-01
      相关资源
      最近更新 更多