[英]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")
}
錯誤本身表示它是Int
和String
類型的不同。
您可能需要以相同的形式鍵入一個或另一個,然后進行比較。
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.