2016-12-14 73 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

同意,我已经实施您的解决方案并将其添加到我的代码片段。谢谢! –

相关问题