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不会被调用。

你可能感兴趣的:(loadView、viewDidLoad与viewWillAppear的区别)