【问题标题】:Swift in XCode: How do I fix EXC_BAD_INSTRUCTION? [duplicate]XCode 中的 Swift:如何修复 EXC_BAD_INSTRUCTION? [复制]
【发布时间】:2015-09-07 20:19:10
【问题描述】:

在我的 AddViewController 中,我有以下代码:

override func viewDidLoad() {
super.viewDidLoad()
    // Do any additional setup after loading the view.

    eventTextField.userInteractionEnabled=false
    dateTextField.userInteractionEnabled=false
    detailsTextField.userInteractionEnabled=false

    eventTextField.text=eventData.objectForKey("eventtitle") as! String
    dateTextField.text=eventData.objectForKey("eventdate") as! String
    detailsTextField.text=eventData.objectForKey("eventdetails") as! String

}

但是当我运行该应用程序时,出现此错误:“线程 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”:

eventTextField.text=eventData.objectForKey("eventtitle") as! String

然后在调试区域,它说,

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)

有什么方法可以调试这个?

【问题讨论】:

  • 您如何看待声明中的错误消息“在展开可选值时意外发现 nil”:eventData.objectForKey("eventtitle")?真的认为,您可以查阅文档。然后,这也是目前在 SO 上发现的最流行的错误之一,在 SO 上有一些适当的答案。

标签: ios swift


【解决方案1】:

eventData 字典不包含 eventtitle 键。查找包含一个 nil 值,您可以使用 as! 强制展开/强制转换。这就是错误消息背后的原因。

通常,除非您绝对确定要解包的值永远不会为零,否则不要使用强制解包。

【讨论】:

    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    相关资源
    最近更新 更多