我是新手,试图了解调试,我正在解决一个挑战。我已查询此问题的解决方案,但未在 StackOverflow 中找到。我想更好地了解这里发生了什么以及为什么会发生这种崩溃。
我已经通过源代码中的打印语句找到了这个错误。我在此函数的开头添加了一条打印语句,以确认正在到达该块。
@IBAction func bugTypeSelected(_ sender: UIButton) {
print("bugTypeSelected reached")
bugFactory.currentBugType = BugFactory.BugType(rawValue: Int(sender.currentTitle!)!)!
self.dismiss(animated: true, completion: nil)
}
当我运行应用程序并单击设置模式中的错误之一时,打印语句将打印到控制台,然后应用程序崩溃。Xcode 告诉我问题出在这一行:
bugFactory.currentBugType = BugFactory.BugType(rawValue: Int(sender.currentTitle!)!)!
错误读取
“线程 1:致命错误:在展开可选值时意外发现 nil。”</p>
所以,我知道使用 nil 值会使应用程序崩溃。我也知道我在这里使用选项。我被困在下一步该怎么做。