做开发时,我们通常会从一个页面push到另一个页面,然后在其中会有无数的push,但是返回上一级的时候,我们都需要返回的是最初的页面,这时候会有两种做法:
1 推出到根视图控制器
这种情况适用于你原本的页面就是跟视图控制器的情况
2 推出到指定的视图控制器
1.这个有风险,如果push的固定,没有问题,如果多个地方push,[2]这个监测到的就有可能引起崩溃,推荐使用第二种,[2]代表你想pop的对象的层级,rootVC为0
注意可能引发数组越界问题
2.另外一种不确定层级的方法(推荐使用)
也可以用for i in 0..<(self.navigationController?.viewControllers.count)!遍历
使用注意事项:
导航控制器实质使用栈的思想管理的(后进先出),push进栈,pop弹栈
1.pop与push成对使用
2.数值0,返回至栈底界面
数值 viewControllers.count - 2,返回上一界面
viewControllers.count - 3,返回上上一界面,以此类推