簡體   English   中英

二進制運算符不能應用於類型為Int和String的操作數-Swift 2.3-> Swift 3.2轉換錯誤

[英]Binary operator cannot be applied to operands of type Int and String - Swift 2.3 -> Swift 3.2 conversion error

從Swift 2.3轉換為3.2時,我收到以下錯誤。

錯誤:二進制運算符不能應用於Int和String類型的操作數

為此,如果條件,即if (error?.code)! == "-112" if (error?.code)! == "-112" ,如下行所示。

if (error?.code)! == "-112" 
{
     print("hello")
}

錯誤本身表示它是IntString類型的不同。

您可能需要以相同的形式鍵入一個或另一個,然后進行比較。

if (String(error?.code)!) == "-112"){
  print("hello")
} 

Swift是一種具有強大類型系統的語言。 您只能比較相同類型的值。

由於左側始終是Int ,因此請為右側使用Int值。 創建字符串不必要地昂貴。 不要那樣做

最有效(最安全)的解決方案是

if error?.code == -112 
{
     print("hello")
}

您需要將錯誤代碼結果類型轉換為字符串,如下所示:

if String(error?.code)!) == "-112" {
print("Hello")
}

本質上,您是在獲取錯誤代碼。通過將其放置在字符串“容器模具”中並解包值(檢索轉換的結果),將其“投射”為字符串。

另外,如果您使用的是API響應,則必須在else / if語句中考慮所有其他錯誤代碼,以確保正確處理了所有響應(以防萬一)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM