视图控制器的作用

iOS程序基本上都是用mvc框架开发的。视图就是view,控制器就是controller。也就是说,视图控制器就是控制视图的,它是一个容器。 这个委托就是,有件事情,一个类A自己不想做,他定义了一个协议,设置的一个代理对象。只要另外的一个对象遵守了这个协议,并且成为了那个类A的代理对象,就能代替A去做那件事情了。 委托可以用block实现,就是用于传递信息而已。

1 、视图控制器的角色

视图控制器是应用数据和它的外观的重要连接,相当于MVC 模式中的Controller 的地位,它可以称之为应用的骨架。

 

2 、视图控制器的作用

 

每一个视图控制器组织和控制一个视图,此视图通常是一个视图层次结构的根视图。

视图控制器是MVC 模式中的控制器对象,但它也有iOS 希望它执行的特殊任务。


3 、视图控制器的启动

 

视图控制器的作用_第1张图片

 

在一个使用了storyboard 的应用打开时,iOS 操作系统做下列的工作:

1 、iOS 初始化一个window 给你

2 、iOS 加载storyboard ,实例化storyboard 的initial view controller

3 、iOS 将window 的属性rootViewController 值设置为新的视图控制器,然后使得window 在屏幕上可见。

这是storyboard 机制自动做的工作,如果手工编码,需要这样做。

   UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

-- 初始化一个window

    LevelViewController *levelViewController = [[LevelViewController alloc] init];

-- 实例化一个视图控制器

    window.rootViewController = levelViewController;

-- 将该视图控制器设置为window 的属性rootViewController 的值。

    [window makeKeyAndVisible];

-- 使得window 聚焦并可见。

 

(miki西游 @mikixiyou 文档,原文http://mikixiyou.iteye.com/blog/1564537 ) 

 

视图控制器在某个视图需要时才小心地加载该视图,这符合lazy loading 原则。视图控制还可以在一定条件下释放这个视图。


你可能感兴趣的:(视图控制器的作用)