做開發(fā)時(shí),我們通常會(huì)從一個(gè)頁(yè)面push到另一個(gè)頁(yè)面,然后在其中會(huì)有無(wú)數(shù)的push,但是返回上一級(jí)的時(shí)候,我們都需要返回的是最初的頁(yè)面,這時(shí)候會(huì)有兩種做法:
1? 推出到根視圖控制器

這種情況適用于你原本的頁(yè)面就是跟視圖控制器的情況
2 推出到指定的視圖控制器
1.這個(gè)有風(fēng)險(xiǎn),如果push的固定,沒(méi)有問(wèn)題,如果多個(gè)地方push,[2]這個(gè)監(jiān)測(cè)到的就有可能引起崩潰,推薦使用第二種,[2]代表你想pop的對(duì)象的層級(jí),rootVC為0

注意可能引發(fā)數(shù)組越界問(wèn)題
2.另外一種不確定層級(jí)的方法(推薦使用)

也可以用for i in 0..<(self.navigationController?.viewControllers.count)!遍歷
使用注意事項(xiàng):
導(dǎo)航控制器實(shí)質(zhì)使用棧的思想管理的(后進(jìn)先出),push進(jìn)棧,pop彈棧
1.pop與push成對(duì)使用
2.數(shù)值0,返回至棧底界面
? 數(shù)值? viewControllers.count - 2,返回上一界面
?????????? viewControllers.count - 3,返回上上一界面,以此類推