当我将Error
设置为URLError
,然后尝试访问其“code”属性时,应用程序崩溃了。我明白
EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)。
func somFunc(things: [Thing]?,
error: Error?) {
let errorCopy = (error as? URLError)
let errorCode = errorCopy?.code //Crash
}
我可以理解强制转换返回nil
,或者调用代码返回nil
。但我不确定坠机的原因。
当我在尝试读取'code'之前打印errorCopy时,我得到:
errorCopy:可选(Foundation.URLError(_nsError:错误域= NSURLErr或域代码=404“(null)”))
1条答案
按热度按时间drkbr07n1#
我还是无法解释坠机的原因,但我找到了解决办法。将错误强制转换为NSError,然后读取code属性。
然后我可以使用错误代码而不会崩溃: