繁体   English   中英

“ NSError”不可转换为“ UInt8”

[英]'NSError' is not convertible to 'UInt8'

尽管我浏览了其他“无法转换为UInt8”的答案,但是我没有找到我所理解的答案。

谁能告诉我发生了什么事?

下面的代码抛出错误-'NSError'无法转换为'UInt8'

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

谁能解释为什么检查错误是否为nil会抛出此“错误”哈哈。

我可以通过设置nil选项并将代码更改为来消除错误

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

我做对了吗? 我应该做别的事情吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM