当前位置: 首页 > 知识库问答 >
问题:

二进制运算符不能应用于Int和String类型的操作数-Swift 2.3->Swift 3.2转换错误

斜俊
2023-03-14

从Swift 2.3转换为3.2时,我收到以下错误。

错误:二进制运算符不能应用于Int和String类型的操作数

对于此if条件,即<代码>if(错误?.code)!==“-112”,如下行所示。

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

共有3个答案

盖泽宇
2023-03-14

您需要键入将错误代码结果转换为字符串,如下所示:

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

本质上,您正在获取错误?. code,通过将其放置在字符串“容器模具”中并展开值(检索转换结果)将其“转换”为字符串。

此外,如果使用的是API响应,则必须说明else/if语句中的所有其他错误代码,以确保正确处理所有响应(以防万一)。

夏经武
2023-03-14

Swift是一种具有强大类型系统的语言。只能比较相同类型的值。

因为左侧是Int,所以在右侧使用Int值。创建字符串的代价太高了。不要那样做。

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

if error?.code == -112 
{
     print("hello")
}
百里嘉泽
2023-03-14

错误本身表示它是不同类型的Int和String。

您可能需要以相同的形式键入一个或另一个,然后进行比较。

if (String(error?.code)!) == "-112"){
  print("hello")
} 
 类似资料:
  • 二进制运算符' (字符串?)是什么类型?

  • 我试图通过UISearchBar在UITableView上搜索用户。问题是,当我尝试时,错误不断出现。 这是我的代码: 我正在尝试通过Firebase fetch在我的应用程序中搜索用户。我已经将用户带到了UITableView上,问题是我无法搜索特定的用户。请帮忙!我什么都试过了。

  • 我正在尝试构建一个简单的Swift应用程序来计算增值税(增值税=20%)。 因为某种原因我一直 二进制运算符*不能应用于Int和Double类型的操作数 在线上

  • 问题内容: 我正在尝试创建一个for循环,但似乎无法理解如何摆脱此错误 我的代码: 错误在线上和 问题答案: 您不能使用浮点类型创建一个(或)。 您要么要将其转换为: 或者您想使用(Swift 2语法): Swift 3语法: 取决于是否需要浮点精度。请注意,如果您的上限是一个非整数值,则该版本将比范围运算符版本多迭代一次,这是因为它将忽略小数部分。

  • 我在练习一些代码,遇到了一些问题。 这是密码 所有的代码都很好,打印得很好,但是最后一行带来了一个问题。 我以为是macFood。水果是数组。 因为macFood。水果=[水果(名称:“苹果”,容量:1),水果(名称:“香蕉”,容量:2)]工作。 所以我想我可以使用'='运算符添加另一个元素。 但它在最后一行崩溃了,macFood。水果=[水果(名称:“葡萄”,容量:3)] 错误消息为 “二进制运

  • 问题内容: 我是新手,已经尝试了两个小时了。在我的代码下面: 错误说: 在哪里: 如果我使用错误消失了,但我的if条件始终为true。如何获得此修复程序?我已经读过了,但与我的案例(和)并不相同。 任何答案和建议都对我有帮助。提前致谢 问题答案: 您可以使用Optional Binding 解开Optional变量。