UIViewController的知识

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、
image.png

这样会无限次调用loadView和viewDidLoad

4、
image.png

这样会无限次调用loadView,但是不会执行到 [super loadView];这句代码就奔溃了。
5、
image.png

点击屏幕的时候,发现只调用了loadView,viewDidLoad没有重新调用,说明只要view初始化成功了一次,那么只会调用一次viewDidLoad:
  • loadView内部调用了viewDidLoad是没错的(不是直接调用)。
  • 但是loadView只要有一次把self.view初始化了,下次再调用loadView,viewDidload是不会再次调用的。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容