过去很多时候我已经修复了零星的unexpectedly found nil while unwrapping an Optional value
错误,我现在已经解决了一个错误;然而我现在这样做的方式是通过断点来猜测nil选项的位置。
EXC_BREAKPOINT
(在程序集中)总是 Swift._fatalErrorMessage
,当我抛出这样的错误时。
是否有更高效的方法(如异常捕获)跳转到nil可选而不是猜测日志消息和(内联)断点的位置?
答案 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
或?
。