我正在努力弄清楚prepareForSegue()
方法中出现的错误消息。我在此方法中使用的代码与Xcode中默认的Master-Default模板中的代码相同。
但就我而言,这一行崩溃了应用程序:
let controller = (segue.destinationViewController as! UINavigationController).topViewController as! SummaryViewController
出现以下错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
我已使用var summaryViewController: SummaryViewController? = nil
在顶部声明目标视图控制器,并且我从当前视图控制器到SummaryViewController
以及此tableView:didSelectRowAtIndexPath
方法有一个segue:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("showSummary", sender: self)
}
但我也尝试直接从tableview单元格中使用segue(并删除此方法),但它仍然崩溃。
任何想法我做错了什么?
答案 0 :(得分:1)
您需要检查VC是否为零,以便prepareForSegue
必须如下:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showSummary"
{
if let controller = (segue.destinationViewController as? UINavigationController)!.topViewController as? SummaryViewController
{
// write a the code for SummaryViewController
}
}
}