iOS 导航控制器栈和视图控制器的生命周期

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值