您的位置:首页 > 其它

今天遇到一个诡异的问题

2014-05-30 14:54 197 查看
- (id)init
{
    self = [super init];
    if (self)
    {
        self.view.backgroundColor = [UIColor greenColor];
        NSLog(@"11111");
    }
    return self;
}

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

}
一个viewcontroller的生命周期,应该是先走 init,再走 viewDidLoad,但是上面这段代码,却总是先打印1111111,后打印222222.
结论:init 的时候,view还未加载完成,所以为nil,此时如果调用了self.view.XXX的话,编译器会直接调用别的方法加载view,所以就先打印了222222.


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: