有人能给我看一个视图控制器如何工作的图表吗?

时间:2009-05-08 21:43:14

标签: iphone objective-c cocoa uiviewcontroller controller

有人可以向我展示视图控制器如何在cocoa(obj-c)中工作的图表。

我只是想明白,因为他们让我困惑

谢谢!

2 个答案:

答案 0 :(得分:4)

我认为UIViewController不能在图表中总结出来。

你有什么特别困难?从一个控制器导航到另一个控制器? NavigationController的堆叠方面?或者ViewController中的外观结构?

这个问题是如此开放,我不认为它可以在这个网站的单个帖子中回答。我会指出你参加关于iPhone编程的斯坦福大学第六讲。讲座和讲座本身(有样本练习)都可以在http://www.stanford.edu/class/cs193p/cgi-bin/index.php

找到

答案 1 :(得分:3)

斯坦福链接是一个很好的参考。

通常,视图控制器为您的应用程序提供“粘合剂”。它应该从您的模型获取/处理数据并将其移交给视图。几乎所有的应用程序逻辑都在View Controller中。

以下文字来自Apple的Cocoa Fundamentals Guide:

  

控制器对象将模型绑定到视图

     

控制器对象充当   应用程序之间的中介   查看对象及其模型对象。   控制器经常负责   确保视图可以访问   他们需要显示的模型对象   并充当通过它的管道   观点了解变化   模型。控制器对象也可以   执行设置和协调任务   申请和管理生活   其他物体的循环。

     

在典型的Cocoa MVC设计中,何时   用户输入值或表示   通过视图对象进行选择   价值或选择被传达给a   控制器对象。控制器   对象可能会解释用户输入   在一些特定于应用程序的方式和   那么要么告诉模型对象   怎么处理这个输入   例如,“添加新值”或“删除”   当前记录“;或者它可能有   模型对象反映了一个变化   其中一个属性的值。基于   在这个相同的用户输入上,一些   控制器对象也可以告诉一个   查看对象以更改其方面   外表或行为,如   禁用按钮。相反,当一个   模型对象更改 - 比如说,一个新数据   访问源 - 模型对象   通常将改变传达给a   控制器对象,然后请求   要更新的一个或多个视图对象   相应的。

     

控制器对象可以是   可重复使用或不可重复使用,具体取决于   他们的一般类型。 “可可类型   控制器对象“描述了   不同类型的控制器对象   在可可。

相关图表是模型,视图和控制器之间的关系(再次由苹果提供):

MVC Diagram http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/CocoaFundamentals/Art/cocoa_mvc.gif