例如 我們由A頁面跳轉到B頁面返回時要返回到之前沒有建立的C頁面。
1 如果先popB 然後再pushC 但是會閃一下
2 a 的viewControllers,如果給這個viewControllers 取出來新增上新的C,但是B依舊存在,可能傳輸資料會有影響。
3.現在就用到了我要說的setViewControllers方法,它可以將NavigationController 的跳轉路徑(堆疊)完全替換。
有兩種情況的例子:
1 B頁面返回時要返回到之前沒有建立的C頁面
1.獲取到viewControllers
2.移除所有路徑 removeAll()
3.新增新的路徑 append(C)
- 將新路徑通過setViewControllers方法加到self.navigationController裡面
2 A跳轉B時,新增新中間頁面C
1.獲取到viewControllers
2.移除所有路徑 removeAll()
3.新增新的路徑 append(C) append(B)
- 將新路徑通過setViewControllers方法加到self.navigationController裡面
然後B返回的時候就是C了