面试题:如果页面A跳转到页面B,A页面的viewDidDisappear和B页面的viewDidAppear方法哪个先调用?
首先这道题有点坑,A页面跳转到B页面有2个方法,push和present.
通过敲代码得知:
push:先执行A页面的viewWillDisappear,A页面的viewDidDisappear,然后执行B页面的viewWillAppear和viewDidAppear.
push执行结果如图:
present:先执行A页面的viewWillDisappear,随后执行B页面的viewWillAppear和viewDidAppear,最后执行A页面的viewDidDisappear.
present执行结果如图显示
附 视图的生命周期:
1.alloc 创建对象,分配空间
2.init (initWithNibName) 初始化对象,初始化数据
3.loadView
4.viewDidLoad
5.viewWillAppear 视图即将出现
6.viewDidAppear 视图已经出现
视图消失
7.viewWillDisappear 视图即将消失
8.viewDidDisappear 视图已经消失
9.dealloc 视图被销毁
网友评论