我想将其转换为Int。
class ViewController: UIViewController {
@IBOutlet weak var numLabel: UILabel!
@IBAction func numButtons(_ sender: UIButton) {
var firstNumber: String
var secondNumber: String
var operandNumber: String
firstNumber = sender.currentTitle!
secondNumber = sender.currentTitle!
numLabel.text = firstNumber
numLabel.text = secondNumber
var intFirstNumber = (Int)firstNumber //error
var intSecondNumber = (Int)secondNumber //error
}
但是我得到这些错误:
一行上的连续语句必须用';'
分隔类型名称后的预期成员名称或构造函数调用 在类型之后添加参数以构造类型的值 使用“ .self”引用类型对象
表达式解析为未使用的l值
答案 0 :(得分:0)
这不是Objective-C类型的强制转换,Swift初始化语法为
Int(firstNumber)
并且您可以用var
替换所有出现的let
(插座除外),因为所有变量都是常量
答案 1 :(得分:0)
快速转换时,您需要在要转换的表达式周围放置方括号,而不是要转换的类型,因此(Int)firstNumber
应该变成Int(firstNumber)
。然后,您将需要处理返回的可选内容,因为该字符串不能包含可以解析为有效Int
的文本。
我认为错误消息令人困惑,因为编译器无法识别您使用的语法。