调试nil选项

时间:2015-03-24 02:16:20

标签: swift

过去很多时候我已经修复了零星的unexpectedly found nil while unwrapping an Optional value错误,我现在已经解决了一个错误;然而我现在这样做的方式是通过断点来猜测nil选项的位置。

EXC_BREAKPOINT(在程序集中)总是 Swift._fatalErrorMessage,当我抛出这样的错误时。

是否有更高效的方法(如异常捕获)跳转到nil可选而不是猜测日志消息和(内联)断点的位置?

1 个答案:

答案 0 :(得分:0)

您的崩溃几乎肯定会发生在您使用!强行拆开可选项的行中。除非您确定存在某个值,否则应使用if let代替。

而不是:

let myValue = myArray[index]!  // will crash if myArray[index] is nil

使用此:

if let myValue = myArray[index] {
  println("myValue has a value and it is \(myValue)")
  // Code using myValue
} else {
  println("myValue is nil")
}

修改:要直接回答您的问题,请搜索!的实例,一般情况下,请将其替换为if let?