loadView、viewDidLoad与viewWillAppear的区别

loadView

当控制器没有使用nib视图页面,loadView会被调用去创建自己的自定义视图层,绝不能直接调用。

viewDidLoad

该方法只会在控制器加载完view时被调用,这将会发生在当控制器因为某些原因需要view的时候。为了显示view是这些原因中的一个。viewDidLoad通常不会被第二次调用除非这个view因为某些原因没有及时加载出来。

viewWillAppear

该方法会在view要被显示出来之前被调用。这总是会发生在ViewDidload被调用之后并且每次view显示之前都会调用该方法。

Tips:

一个经常容易犯的错误就是把viewDidLoad方法看做是view的初始化方法,或者是每当view需要初始化的时候就会调用viewDidLoad方法。事实上,ViewDidLoad方法只会在控制器需要view的时候才会去调用,并且只会调用一次。因而,在控制器的view在控制器需要它之前可以一直长时间处于初始化状态,并且它可能在被调用一次后会驻留在后台。在这些情况下,ViewDidLoad不会被调用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容