我的根控制器对某些子控制器执行push segues。
在我的根控制器中,我想检查是否有一个控制器在自我 和 之上,该子控制器的类型为&#34 ; MessageViewController"
如何在Swift中执行该检查?
答案 0 :(得分:0)
self.navigationController.viewControllers.count将告诉您堆栈中有多少个控制器。如果您对上面的那个感兴趣,可以测试self.navigationController.viewControllers [1](在检查堆栈上至少有2个控制器之后)是否为MessageViewController。
if self.navigationController!.viewControllers.count >= 2 {
let vc = self.navigationController!.viewControllers[1] as! UIViewController
if vc is MessageViewController {
// do whatever
}
}
如果segues是模态演示文稿,您可以检查presentViewController属性是否为非零,
if let vc = self.presentedViewController {
if vc is MessageViewController {
// do whatever
}
}else{
println("No presented view conttoller")
}