loadView

本文解析了UIViewController中view的懒加载机制。重点介绍了loadView方法的作用及调用时机,并通过示例对比了正确与错误调用[super loadView]的区别。
  1. 第一次加载view的时候,会调用loadView这个方法。也就意味着第一次访问view的时候,view还为nil,它会调用loadView这个方法创建view(必须调用父类的loadView),也就说明他是一个懒加载的方式

    • 不是说控制器创建好,控制器的view就创建好,而是当我们用到这个view的时候才会创建
    • 无论控制器的view是以何种方式创建的,他一定是调用loadView的方式创建的
    • 调用流程图
      loadView

    • 如果需要自定义view,那么就不需要调用[super load],因为这个方法创建父类默认的view,这个时候我们可以在loadView方法中添加自定义的view

    - (void)loadView
    {
    //    [super loadView];
        NSLog(@"loadView");
        self.view.backgroundColor = [UIColor purpleColor];

    }


    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"viewDidLoad");

    }

这是一个死循环 不会打印viewDidLoad.


    - (void)loadView
    {
        [super loadView];
        NSLog(@"loadView");
        self.view.backgroundColor = [UIColor purpleColor];

    }
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"viewDidLoad");

    }

这个的打印结果如下:
loadView

然后显示紫色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值