簡體   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