虽然我已经浏览了另一个"不能转换为UInt8"答案,我还没找到一个我理解的。
有谁能告诉我发生了什么事?
以下代码抛出错误 - ' NSError'不能转换为' UInt8'
if( error != nil) {...}
任何人都可以解释为什么检查错误是否为零将导致此错误"错误"哈哈。
我可以通过制作nil选项并将代码更改为
来消除错误if( error != nil!) {...}
我这样做了吗?我应该做其他事吗?
答案 0 :(得分:3)
也许该错误消息并不像它应该的那样有用,但编译器在这里抱怨是正确的。请注意,在错误中,您收到的是NSError
类型的抱怨NSError
,而不是NSError?
或NSError!
。
这意味着您的error
变量属于非可选NSError
类型,因此永远不会为nil,并且无需进行nil检查。我想你会发现,如果你将你的错误对象重新声明为可选的,或者是一个隐式解包的可选项,你的代码就可以正常运行。