loadView与viewDidLoad的区别

观察下面这个例子会出现什么结果

1 -(void)loadView
2 {
3   NSLog(@"who am i");
4 }
5 
6 -(void)viewDidLoad
7 {
8     self.view.backgroundColor = [UIColor redColor];
9 }

分析:发现loadView和viewDidload会一直循环调用,原因何在

我们发现只要self.view为nil,它就会调用一次loadview

于是我们猜想_view的getter方法里是这样写的

if(_view == nil)
{
...
   [self loadView];
   [self viewDidLoad];
...
}

下面是一涨生命周期的图:


Previous     Next