控制器view的创建
假设控制器为MJViewController。
1,如果MJViewController重写了loadView方法,就根据loadView方法中的代码去创建view(即使loadView方法中什么也没写)
2,如果MJViewController没有重写loadView方法,就要看delegate中的didFinishLaunchingWithOptions:方法中是如何创建MJViewController的view
具体如何创建MJViewController的view请参见:ios-day11-02
3,注意:如果使用xib文件来创建控制器的view,且initWithNibName:和bundle:参数都传nil
[[MJViewController alloc] initWithNibName:nil bundle:nil];
这时:
首先会去寻找MJView.xib,如果找到了,加载MJView.xib作为MJViewController的view
如果没有找到MJView.xib,再去找MJViewController.xib,如果找到了,加载MJViewController.xib作为MJViewController的view
如果以上两个xib文件都不存在,就会创建一个空的view作为MJViewController的view
控制器view的延迟加载
1,控制器view是延迟加载的(用到时再加载)
2,可以使用isViewLoaded方法判断一个控制器的view是否已经被加载
3,控制器的view加载完毕就会调用控制器的viewDidLoad方法