从Swift 2.3转换为3.2时,我收到以下错误。
错误:二进制运算符不能应用于Int和String类型的操作数
对于此if条件,即<代码>if(错误?.code)!==“-112”,如下行所示。
if (error?.code)! == "-112"
{
print("hello")
}
您需要键入将错误代码结果转换为字符串,如下所示:
if String(error?.code)!) == "-112" {
print("Hello")
}
本质上,您正在获取错误?. code,通过将其放置在字符串“容器模具”中并展开值(检索转换结果)将其“转换”为字符串。
此外,如果使用的是API响应,则必须说明else/if语句中的所有其他错误代码,以确保正确处理所有响应(以防万一)。
Swift是一种具有强大类型系统的语言。只能比较相同类型的值。
因为左侧是Int,所以在右侧使用Int值。创建字符串的代价太高了。不要那样做。
最有效(和安全)的解决方案是
if error?.code == -112
{
print("hello")
}
错误本身表示它是不同类型的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变量。