随着我不断学习 iPhone/IOS 开发,我阅读了很多有关 MVC 的内容。然而,在到目前为止我看到的各种示例文件中,我并没有真正看到模型、 View 和 Controller 的单独类?
我应该如何具体了解 MVC 在最佳实践开发的 iPhone 应用程序中的实际应用?例如,也许一个基于导航 Controller 和一些 TableView 等。
例如:
每个“iPhone UI Controller ”是否应该有一个单独的模型、 View 和 Controller - 请注意,从我所看到的情况来看,iPhone 开发中似乎有 1 页 == 1 UI Controller ,那么我的问题每个 UI Controller 都应该有自己的 View 文件和模型文件吗?
鉴于 Interface Builder 和 NIB 是事物的重要组成部分,NIB 在多大程度上被视为 MVC 模式的一部分?例如NIB 的创建是否有效地实现了“ Controller ”和“ View ”,让您为模型创建一个单独的类(在单独的文件中)?
当您获得由多个应用程序页面(例如 ListView 、编辑 View 等)共享/使用的共享数据(或共享模型 - 例如项目列表)时会发生什么 - 在这种情况下是这样在我看来,您将拥有 1 个模型,但然后在不同的页面(即 View 和 Controller )中重用此模型实例。
希望这是有道理的......
最佳答案
您将通过使用对象和工具的典型用途来遵循 MVC。 UIView 对象用于呈现数据和接收输入(View)。 UIViewController 响应事件并在数据模型和 UIView 层次结构( Controller )之间来回路由数据。您的数据模型位于您想要的任何位置,有时与 UIViewController 子类组合在一起,有时作为单例类(模型)出现在应用程序中。当您将共享数据模型指定为单例类时,任何需要它的类都可以从应用程序中的任何位置访问它。通过维持这种分工,您的应用程序将趋于组织良好和模块化,并且您可以维护/扩展一个方面,而无需重写程序的所有其他方面。
界面构建器是一种用于直观地构建应用程序的 View 层次结构(以及某种程度上的控件层次结构)的工具。
关于iPhone开发和使用单独的模型文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5074336/