当我在iPhone上尝试instantiateViewControllerWithIdentifier
时,它会崩溃应用程序,尽管这在ios模拟器上工作正常。我使用的代码是:
let questionsGameVC: QuestionsGame = self.storyboard?.instantiateViewControllerWithIdentifier("Questions") as! QuestionsGame
它所说的错误是
致命错误:在解包可选值时意外发现nil
有人可以为出错的地方添加任何内容吗?
答案 0 :(得分:0)
有很多地方可能出错。我会在该行放置一个断点并查看系统的状态,但调试swift仍然不是很好。一种替代方法是拆分该行代码并测试所有部分。像这样:
if let storyboard = self.storyboard {
if let viewController = storyboard.instantiateViewControllerWithIdentifier("Questions") {
if let questionGame = viewController as? QuestionGame {
println("Success!")
} else {
println("Question game is the wrong type in the storyboard")
}
} else {
println("There is no view controller with the identifier Questions")
}
} else {
println("The storyboard is nil")
}
无论最后打印什么,都应该让您更好地了解问题所在。大多数情况下,我看到拼写错误的标识符或故事板中视图控制器的类尚未从UIViewController
更改为自定义类型的情况。