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