有人可以向我展示视图控制器如何在cocoa(obj-c)中工作的图表。
我只是想明白,因为他们让我困惑
谢谢!
答案 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 控制器对象,然后请求 要更新的一个或多个视图对象 相应的。
控制器对象可以是 可重复使用或不可重复使用,具体取决于 他们的一般类型。 “可可类型 控制器对象“描述了 不同类型的控制器对象 在可可。
相关图表是模型,视图和控制器之间的关系(再次由苹果提供):