swift – 二进制运算符不能应用于两个int *** 作数

swift – 二进制运算符不能应用于两个int *** 作数,第1张

概述嗨,我有一个关于这段代码的问题: 1) let label = "The width is "let width = 94let widthLabel = label + String(width) 2) let height = "3"let number = 4let hieghtNumber = number + Int(height) 第一部分工作很好,但我不明白为什么第二个不是. 嗨,我有一个关于这段代码的问题:

1)

let label = "The wIDth is "let wIDth = 94let wIDthLabel = label + String(wIDth)

2)

let height = "3"let number = 4let hIEghtNumber = number + Int(height)

第一部分工作很好,但我不明白为什么第二个不是.我得到错误“二进制运算符”“不能应用于两个int *** 作数”,这对我来说没有什么意义.有人可以帮我一些解释吗?

1)第一个代码的作用是因为String有一个使用Int的init方法.然后就行了
let wIDthLabel = label + String(wIDth)

您将串联字符串与 *** 作符一起创建wIDthLabel.

2)Swift错误消息可能会引起误导,实际问题是Int没有一个接受String的init方法.在这种情况下,您可以使用String上的toInt方法.以下是一个例子:

if let h = height.toInt() {    let heightNumber = number + h}

你应该使用,如果let语句检查String可以转换为Int,因为如果ItInt失败则返回nil;在这种情况下强制展开会使您的应用程序崩溃.请看下面的例子,说明如果height不能转换为Int,会发生什么:

let height = "not a number"if let h = height.toInt() {    println(number + h)} else {    println("Height wasn't a number")}// Prints: Height wasn't a number

Swift 2.0更新:

Int现在有一个初始化器,它需要一个String,使得示例2(见上文):

if let h = Int(height) {    let heightNumber = number + h}
总结

以上是内存溢出为你收集整理的swift – 二进制运算符不能应用于两个int *** 作数全部内容,希望文章能够帮你解决swift – 二进制运算符不能应用于两个int *** 作数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1040473.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存