1、导航控制器栈
- 就是用来保管导航控制器内所有的子控制器。
- 导航控制器栈中的控制器是以先进后出的顺序出入栈的。每次push到一个控制器,就会将这个控制器添加到这个导航控制器栈中,执行pop方法时,将当前这个控制器释放并销毁,然后就会显示要pop到的目标控制器。
- 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用。
2、视图控制器view的生命周期
-
1、场景:FirstViewController跳转到SecondViewController再跳转到ThirdViewController(导航栏跳转)
- 1> 首先运行显示出来的是FirstViewController,他的方法运行顺序是:
loadView —> viewDidLoad —> viewWillAppear —>viewDidAppear
-
2> 从FirstViewController跳转SecondViewController。顺序:(他们是在两个控制器之间相互切换)
> loadVIew(SecondVC)—> viewDidload(SecondVC)—> viewWillDisappear(FirstVC) —> viewwillAppear(SecondVC)—> viewDidDisappear(FirstVC)—> viewDidAppear(FirstVC) -
3> 从SecondViewController跳转到ThirdViewController。顺序:
loadView(ThirdVC)—> viewDidload(ThirdVC)—> viewWillDisappear(SecondVC)—> viewwillAppear(ThirdVC)—> viewDidDisappear(SecondVC)—> viewDidAppear(ThirdVC)
-
4> 从ThirdViewController跳转到根控制器(FirstViewController)
viewWillDisappear(ThirdVC)—> viewWillAppear(FirstVC)—> dealloc (SecondVC)—> ViewDidDisappear(ThirdVC)—> viewDidAppear(FirstVC)—> dealloc (ThirdVC)
最后
以上就是自信小猫咪最近收集整理的关于iOS 导航控制器栈和视图控制器的生命周期的全部内容,更多相关iOS内容请搜索靠谱客的其他文章。
发表评论 取消回复