【发布时间】:2017-07-20 06:57:09
【问题描述】:
let viewControllers: [UIViewController] = self.navigationController!.viewControllers
for VC in viewControllers {
if (VC.isKind(of: HomeViewController.self)) {
bScreen = true
self.navigationController?.popToViewController(VC, animated: true)
}
}
if bScreen == false {
let homeVC = HomeViewController()
self.navigationController?.pushViewController(homeVC, animated: false)
}
我遍历导航控制器数组以移动到 HomeViewController。上面的代码工作正常。有时我会因为“致命错误:在展开可选值时意外发现 nil”而崩溃。我知道这次崩溃的原因。请帮助我如何检查视图控制器对象的 nil 值。任何帮助将不胜感激。在此先感谢
【问题讨论】:
-
你在用swift 3吗
-
你在哪一行崩溃了?
-
是的..它在“self.navigationController?.popToViewController(VC, animated: true)”这一行崩溃
-
试试这个:- 如果 vc 是 HomeViewController
-
@arunrajesh 我不认为这是可能的,因为如果 vc 为 nil 则它不会进入 if 语句。尝试使用
is而不是kindOfswift 更改其语法。