2016-12-14 47 views

回答

1

UINavigationController有一個屬性viewControllers包含當前在堆棧上的視圖控制器的數組。你可以得到視圖控制器的數組,然後從該數組中獲取倒數第二個視圖控制器:

guard let navController = self.navigationController else { 
    print("We are not part of a navigation stack!") 
    return 
} 
let stack = navController.viewControllers 
let stackCount = stackCount 
if stackCount > 1 { 
    let nextVC = viewControllers[stackCount - 2] 
    //nextVC now contains the view controller one down from the current VC 
} else { 
    //We are the root view controller 
} 
+0

啊,得到它的工作,謝謝。只是想通過調用willmovetoparent和訪問viewcontrollers數組也可以做到這一點。 –

+0

我不相信導航控制器和他們的孩子的父母/孩子的關係是記錄在案的,所以我不會指望它。在將來的OS發行版中,實現細節可能會從您下面更改並破壞您的代碼。 –

+0

同意,我已經實施您的解決方案並將其添加到我的代碼片段。謝謝! –

相關問題