在iOS开发中,当我们新建一个.h和.m文件时,你会发现Xcode已经帮我们写好了一些方法,但是它们的作用是什么?什么时候执行?下面我将会把常用的方法的执行顺序告诉大家。本人水平有限,所以有不认可的地方还望各位能够指出。
首先,一个APP一启动就会执行AppDelegate里面的didFinishLaunchingWithOptions这个方法,这个相信不用我多说了吧。
接下来我问大家一个问题,ViewController的viewDidLoad和viewWillAppear哪个先执行?什么时候执行?
先回答第一个问题:哪个先执行?先执行viewDidLoad先执行,后执行viewWillAppear方法。
第二个问题:什么时候执行?viewDidLoad会在控制器创建的时候执行,而且只会执行一次,除非它消失了,举个栗子:VCApush到 VCB,这个时候VCB的viewDidLoad方法会执行,除非pop回VCA了,再次push到VCB的时候才会执行VCB的viewDidLoad方法。
viewWillAppear方法会在view出现之前调用,在viewDidLoad之后调用,这两者有个不同点就是,前者指调用一次,而后者会在每一次view出现都会调用!
接下来的问题很平常,但是很容易会出错:如果页面A 跳转到 页面B,那么页面A 的viewWillDisappear 、viewDidDisappear和页面B 的viewWillAppear 、viewDidAppear,这4个方法的调用顺序是什么?先不看答案,自己心里面思考下答案,然后看下正不正确,最好还是建议亲自动手实践一下比较好。
执行顺序:1、页面A 的viewWillDisappear 2、页面B 的viewWillAppear 3、页面A 的viewDidDisappear 4、页面B的viewDidAppear
最后,本篇博客没什么技术含量,纯粹是无聊之时的无聊之作。