• 【iOS开发】3.UIViewController


    1.概述

      iOS和相关库的开发大量使用了模型-视图-控制器(MVC)模式。一般而言,MVC是一种策略,用于分离展现(视图)、数据(模型)和业务逻辑(控制器)。确切地讲,模型是简单数据,如Person或Address类。视图负责在屏幕上呈现数据。在iOS开发中,视图是UIView的一个子类。iOS提供了一个特殊类作为UIView的控制器,该类被贴切地命名为UIViewController。

      UIViewController具有两个重要特征:往往与一个XIB文件关联,有一个名为"view"的UIView类型属性。通过创建UIViewController的一个子类,可以得到一个同名XIB文件,可作为视图类使用。默认情况下,当实例化一个UIViewController子类时,会加载一个同名的XIB。XIB中的根UIView将绑定至UIViewController的view属性。

      除在UI布局和逻辑驱动之间提供干净的分离外,iOS还提供了大量UIViewController子类,可与其他UIViewController一起使用(而不是UIView)。

    2.UIViewController的生命周期

    UIViewController控制着view的加载与消失。下面我们就来分析一下UIViewController是如何加载view的。

    1.调用initWithNibName进行初始化

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

    2.创建view调用loadView,如果使用代码创建视图则在loadView方法里进行创建。

    -(void)loadView

    3.view加载完成调用viewDidLoad方法。

    - (void)viewDidLoad 

    4.view将要显示调用viewWillAppear方法

    -(void)viewWillAppear:(BOOL)animated

    5.view可见时调用viewDidAppear

    -(void)viewDidAppear:(BOOL)animated

    6.view翻转调用shouldAutorotate

    -(BOOL)shouldAutorotate

    7.视图将要消失调用viewWillDisappear

    8.视图消失调用viewDidDisappear

    参考:http://www.cnblogs.com/smileevday/archive/2012/03/05/2380916.html 

  • 相关阅读:
    并发工具类的使用 CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    多线程按顺序执行3个方法
    读写锁事例
    使用AQS自定义重入锁
    java 几种锁实现
    Nginx 安装
    Windows 安装mysql
    day--14前端(HTML、CSS)
    day13--开发堡垒机
    day12--python操作mysql
  • 原文地址:https://www.cnblogs.com/malinkang/p/3386754.html
Copyright © 2020-2023  润新知