Ios ';n错误';不可转换为';UInt8';

Ios ';n错误';不可转换为';UInt8';,ios,swift,compiler-errors,Ios,Swift,Compiler Errors,虽然我看过其他“不可转换为UInt8”的答案,但我没有找到一个我理解的答案 谁能告诉我发生了什么事 下面的代码引发错误-“NSError”不能转换为“UInt8” if( error != nil) {...} 谁能解释为什么检查错误是否为零会抛出这个“错误”哈哈 我可以通过设置nil选项并将代码更改为 if( error != nil!) {...} 我这样做对吗?我应该做些别的事情吗?也许错误消息没有它应有的用处,但是编译器在这里抱怨是正确的。请注意,在您收到的错误中,它抱怨的NSErr

虽然我看过其他“不可转换为UInt8”的答案,但我没有找到一个我理解的答案

谁能告诉我发生了什么事

下面的代码引发错误-“NSError”不能转换为“UInt8”

if( error != nil) {...}
谁能解释为什么检查错误是否为零会抛出这个“错误”哈哈

我可以通过设置nil选项并将代码更改为

if( error != nil!) {...}

我这样做对吗?我应该做些别的事情吗?

也许错误消息没有它应有的用处,但是编译器在这里抱怨是正确的。请注意,在您收到的错误中,它抱怨的
NSError
类型是
NSError
,而不是
NSError?
NSError


这意味着您的
error
变量属于非可选的
NSError
类型,因此永远不能为nil,因此无需进行nil检查。我想您会发现,如果您将错误对象重新声明为可选对象或隐式展开的可选对象,那么您的代码就可以正常工作。

也许错误消息没有它应有的用处,但编译器在这里抱怨是正确的。请注意,在您收到的错误中,它抱怨的
NSError
类型是
NSError
,而不是
NSError?
NSError


这意味着您的
error
变量属于非可选的
NSError
类型,因此永远不能为nil,因此无需进行nil检查。我想您会发现,如果您将错误对象重新声明为可选对象或隐式展开的可选对象,那么您的代码就可以正常工作。

也许错误消息没有它应有的用处,但编译器在这里抱怨是正确的。请注意,在您收到的错误中,它抱怨的
NSError
类型是
NSError
,而不是
NSError?
NSError


这意味着您的
error
变量属于非可选的
NSError
类型,因此永远不能为nil,因此无需进行nil检查。我想您会发现,如果您将错误对象重新声明为可选对象或隐式展开的可选对象,那么您的代码就可以正常工作。

也许错误消息没有它应有的用处,但编译器在这里抱怨是正确的。请注意,在您收到的错误中,它抱怨的
NSError
类型是
NSError
,而不是
NSError?
NSError


这意味着您的
error
变量属于非可选的
NSError
类型,因此永远不能为nil,因此无需进行nil检查。我想您会发现,如果您将错误对象重新声明为可选对象或隐式展开的可选对象,您的代码将正常工作。

提交一个bug,swift解释器会给出一些无用的错误。。。如果我没有因为这些糟糕的、误导性的、没有帮助的错误而气馁的话,我会这么做。请提交一个bug,swift解释器会给出糟糕的、没有帮助的错误。。。如果我没有因为这些糟糕的、误导性的、没有帮助的错误而气馁的话,我会这么做。请提交一个bug,swift解释器会给出糟糕的、没有帮助的错误。。。如果我没有因为这些糟糕的、误导性的、没有帮助的错误而气馁的话,我会这么做。请提交一个bug,swift解释器会给出糟糕的、没有帮助的错误。。。如果我没有因为这些糟糕的、误导性的、没有帮助的错误而气馁,我会这么做。