了解iOS应用程序中使用的MVC模式

The*_*ner 22 iphone model-view-controller cocoa-touch objective-c

我读过Apple的MVC 文章,对各种事情感到困惑.首先,Apple在几乎所有的示例应用程序中都使用了View和Controller的组合,这很好并且我喜欢它但是它们在本文中自相矛盾,因为他们说View不应该依赖于控制器等.

我的主要问题是,是否有人链接到Apple的一个示例iOS项目,这是MVC模式的一个很好的例子 - 数据检索等因为我不完全理解模式的模型部分.

我不明白"域对象"和模型对象之间的区别.例如,如果我想检索订单列表,则会在模型类Orders中发生.那么我是否会有另一个具有OrderDate,OrderNumber等属性的类订单,或者它将如何工作?

Pie*_*let 12

示例代码演示了加载和显示UITableView的多阶段方法.我认为潜入它真的很有趣.它将展示MVC的作品.


cod*_*cat 7

以下是模型 - 视图 - 控制器(也称为MVC)模式如何映射到应用程序的主要部分:

型号→数据

查看→用户界面

控制器→核心逻辑

这完全解释了示例代码

http://www.hollance.com/2011/04/making-your-classes-talk-to-each-other-part-1/

在此输入图像描述

  • 但它对新手开发人员有帮助 (2认同)

its*_*ode 5

我相信以下代码将帮助您了解如何在iOS应用程序中使用MVC,因为它的描述如下:

"MVCNetworking是一个示例,展示了如何使用模型 - 视图 - 控制器设计模式创建网络应用程序.具体来说,它通过从Web服务器获取图库的XML描述,缩略图和照片来显示照片库,并使用Core Data在本地缓存这些信息."

http://developer.apple.com/library/ios/#samplecode/MVCNetworking/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010443

  • 我很困惑的部分是在哪里放置Http Web服务调用.过去,当我在MS MVC上工作时,我们将Web服务调用放在控制器中.但是对于ios开发,我得到了关于向Model添加http web服务调用的建议.我觉得无论哪种方式都有效,但我不确定哪种方式更适合MVC模式..你有什么见解吗?谢谢! (3认同)

Nam*_*nav 5

  • 模型是应用程序的大脑.它进行计算并为自己创建一个虚拟世界,可以在没有视图和控制器的情况下生存.换句话说,将模型视为应用程序的虚拟副本,而不是面部!

  • 一个观点是,通过它用户与应用程序交互的窗口.它大部分时间显示模型内部的内容,但除此之外,它还接受用户的交互.用户和应用程序之间的任何交互都将发送到视图,然后视图可以由视图控制器捕获并发送到模型.

  • iOS编程中的控制器通常指视图控制器.将视图控制器视为模型和视图之间的桥梁.它们解释一方面发生的事情(用户在视图方面做了什么,或者模型提供的信息),并根据需要使用该信息来改变另一方.