iPhone开发和使用单独的模型文件?

时间:2011-02-22 05:22:07

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

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

我应该如何通过最佳实践开发的iPhone应用程序具体地看到MVC?例如,也许一个基于NavigationController&一些表格视图等。

例如:

  • 是否应该有单独的模型,View&每个“iPhone UI控制器”的控制器 - 注意到我在iPhone开发中看起来似乎有1个页面== 1个UI控制器,那么我的问题是每个UI控制器都有它自己的View文件和模型文件吗?

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

  • 当您拥有多个应用程序页面共享/使用的共享数据(或共享模型 - 例如项目列表)时会发生什么(例如列表视图,编辑视图等) - 在这种情况下在我看来,你会有1个模型,但是然后在不同的页面(View& Controller)中重用这个模型实例。

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

1 个答案:

答案 0 :(得分:2)

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

“界面”构建器是一种可视化构建应用程序的视图层次结构(以及某种程度上的控件层次结构)的工具。