二元运算符不能应用于 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 时,我收到以下错误。
Error : Binary operator cannot be applied to operands of type Int and String
对于此 if 条件,即 if (error?.code)! == "-112"
,如下所示。
if (error?.code)! == "-112"
{
print("hello")
}
错误本身说它是不同类型 Int
和 String
。
您可能需要以相同的形式对一个或另一个进行类型转换并进行比较。
if (String(error?.code)!) == "-112"){
print("hello")
}
您需要将错误代码结果强制转换为字符串,如下所示:
if String(error?.code)!) == "-112" {
print("Hello")
}
本质上,您将 error?.code "casting" 作为一个字符串,将其放入字符串 "container mould" 中并解包该值(检索转换结果)。
此外,如果您正在处理 API 响应,则必须考虑 else/if 语句中的所有其他错误代码,以确保正确处理所有响应(以防万一你是)。
Swift 是一种具有强类型系统的语言。您只能比较相同类型的值。
因为左侧是 Int
,无论如何使用右侧的 Int
值。创建一个字符串是不必要的昂贵。不要那样做。
最有效(和安全)的解决方案是
if error?.code == -112
{
print("hello")
}
从 Swift 2.3 转换为 3.2 时,我收到以下错误。
Error : Binary operator cannot be applied to operands of type Int and String
对于此 if 条件,即 if (error?.code)! == "-112"
,如下所示。
if (error?.code)! == "-112"
{
print("hello")
}
错误本身说它是不同类型 Int
和 String
。
您可能需要以相同的形式对一个或另一个进行类型转换并进行比较。
if (String(error?.code)!) == "-112"){
print("hello")
}
您需要将错误代码结果强制转换为字符串,如下所示:
if String(error?.code)!) == "-112" {
print("Hello")
}
本质上,您将 error?.code "casting" 作为一个字符串,将其放入字符串 "container mould" 中并解包该值(检索转换结果)。
此外,如果您正在处理 API 响应,则必须考虑 else/if 语句中的所有其他错误代码,以确保正确处理所有响应(以防万一你是)。
Swift 是一种具有强类型系统的语言。您只能比较相同类型的值。
因为左侧是 Int
,无论如何使用右侧的 Int
值。创建一个字符串是不必要的昂贵。不要那样做。
最有效(和安全)的解决方案是
if error?.code == -112
{
print("hello")
}