【发布时间】:2009-05-08 21:43:14
【问题描述】:
谁能给我看一张可可 (obj-c) 中视图控制器如何工作的图表。
我只是想了解,因为它们让我感到困惑
谢谢!
【问题讨论】:
标签: iphone objective-c cocoa uiviewcontroller controller
谁能给我看一张可可 (obj-c) 中视图控制器如何工作的图表。
我只是想了解,因为它们让我感到困惑
谢谢!
【问题讨论】:
标签: iphone objective-c cocoa uiviewcontroller controller
我不认为 UIViewController 可以用图表来概括。
您遇到的具体困难是什么?从一个控制器到另一个控制器的导航? NavigationController 的堆叠方面?还是 ViewController 中的外观结构?
这个问题是如此开放式的,我认为无法在本网站的一个线程中回答。我会为你指出关于 iPhone 编程的斯坦福课程的第 6 讲。讲座笔记和讲座本身(附有练习题)都可以在以下网址找到:http://www.stanford.edu/class/cs193p/cgi-bin/index.php
【讨论】:
斯坦福链接是一个很好的参考。
通常,视图控制器为您的应用程序提供“粘合剂”。它应该从您的模型中获取/处理数据并将其交给视图。几乎所有的应用程序逻辑都将在 View Controller 中。
以下文字来自 Apple 的 Cocoa Fundamentals Guide:
控制器对象将模型绑定到视图
控制器对象充当 应用程序之间的中介 查看对象及其模型对象。 控制器通常负责 确保视图可以访问 他们需要显示的模型对象 并充当管道,通过它 视图了解更改 模型。控制器对象也可以 执行设置和协调任务 为一个应用程序和管理生活 其他物体的循环。
在典型的 Cocoa MVC 设计中,当 用户输入一个值或指示一个 通过视图对象进行选择,即 价值或选择被传达给 控制器对象。控制器 对象可能会解释用户输入 以某种特定于应用程序的方式和 然后要么告诉模型对象 如何处理这个输入——对于 例如,“添加新值”或“删除 当前记录”;或者它可能有 模型对象反映了变化 其属性之一的价值。基于 在同一个用户输入上,一些 控制器对象也可能告诉 查看对象以更改其某个方面 外表或行为,例如 禁用按钮。相反,当一个 模型对象变化——比如说,一个新数据 源被访问——模型对象 通常将该更改传达给 控制器对象,然后请求 要更新的一个或多个视图对象 相应地他们自己。
控制器对象可以是 可重复使用或不可重复使用,取决于 他们的一般类型。 “可可的种类 控制器对象”描述了 不同类型的控制器对象 在可可中。
相关图是模型、视图和控制器之间的关系(再次由苹果提供):
【讨论】: