Cocoa
使用了一如既往种植修改版的MVC模式来拍卖GUI的亮。MVC模式(自1979年以来)已经出现非常丰富日子了,它都以分别显示用户界面所欲的大气任务,并处理用户交互。正而称所富含的,MVC具有三只关键部分,Model(模型)、View(视图)和Controller(控制器):

  • 模型——模型是一定于世界的多寡表现形式。比如说,我们在创造一个任务列表应用程序。你也许会见有一个Task对象的汇,书写也List<Task>。
    你可能将这些数量保存于数据库、XML文件,或者甚至于Web
    Service中拿走,不过MVC不那么关心它是当哪儿/如何来始终如一保存之(乃至它们是呀)。相反,它特别注意让如何展示这些多少,并拍卖同用户交互的,好之范类非包其他关于用户界面的内容,可以于差不多只应用程序中使用。
  • 视图——视图代表了数额如何实际地亮出。在我们以此只要的任务应用程序中,会在一个网页(以HTML的方)中来展示这些职责,也会见当一个WPF页面中(以XAML的道)来显示,或者当一个iPhone应用程序中显得也UITableView
    。如果用户点击某个任务,要删减的,那么视图通常会硌一个事变,或针对Controller(控制器)进行一个回调,好之视图类是通用类,可以在多单下中采取。
  • 控制器——控制器是范和视图间的粘合剂,负责控制总体应用的流水线。控制器的目的就是收获模型中的数量,告知视图来展示。控制器还侦听着视图的波,在用户选中一个任务来删除的时候,控制正在任务由模型中剔除。

由此分离显示数据、持久化数据与拍卖用户交互的职责,MVC模式有助于创造好掌握的代码。而且,它促进了视图和模型的解耦,以便模型能叫录用。例如,在公的应用程序中,有三三两两单界面,基于Web的同WPF的,那么您可当两岸中还利用相同的范定义代码。

从而,在无数MVC框架中不管具体的办事法如何,基本原理都盖这么的。然而,在Cocoa(及Cocoa
Touch)中,还是要多或者有失有所不同,苹果用MVC来代表Views(视图)、View
Controller(视图控制器)和Models(模型);但是以不同之控件被,它们可未是完全一致的,实现之方式也非太一样。

以Objective-C/Cocoa的世界里,我们树立的controller通常是恃应用程序(Application)的嘱托(Delegate),或者可以简单称做app
delegate。当您于Objective-C里面建立一个app
delegate的下,这个delegate可以举行啊汝具备model和view的controller,或者您也可呢歧之model和view分别创建controller。

具体可参照下下的内容:

MonoTouch中的MVC简介

相关文章

网站地图xml地图