UIViewController的知识

UIViewController的知识_第1张图片
2491655-f507e043f3e3bc69.jpg

1、loadView 创建一个view,在viewDidload之前调用,同时这个方法内部还调用了viewDidLoad(说法不准确,请看第5条)。
2、self.view和self.viewIfLoaded 的区别:调用view的时候,如果view不存在就会调用loadView去创建。但是viewIfLoaded如果view存在,那么self.view和self.viewIfLoaded效果相同,如果不存在返回nil。

3、
UIViewController的知识_第2张图片
image.png

这样会无限次调用loadView和viewDidLoad

4、
image.png

这样会无限次调用loadView,但是不会执行到 [super loadView];这句代码就奔溃了。
5、
UIViewController的知识_第3张图片
image.png

点击屏幕的时候,发现只调用了loadView,viewDidLoad没有重新调用,说明只要view初始化成功了一次,那么只会调用一次viewDidLoad:
  • loadView内部调用了viewDidLoad是没错的(不是直接调用)。
  • 但是loadView只要有一次把self.view初始化了,下次再调用loadView,viewDidload是不会再次调用的。

你可能感兴趣的:(UIViewController的知识)