一行上的连续语句必须用 '; ' SWIFT 分隔



您好,我正在尝试制作一个将人类年份转换为猫年的应用程序,但是您点击以显示猫年的按钮遇到了一些麻烦。

@IBAction func findAge(_ sender: AnyObject) {
    var enteredAge = age.text
    var myInt: 13 = int(enteredAge)
    var catYears = enteredAge * 7
    print(age.text) 
}

var myInt: 13 = int(enteredAge)我得到 2 个错误,一个是这个问题的标题,另一个说"预期类型"我目前正在运行 xcode 8 测试版。

var myInt : Int = Int(enteredAge);错误在 swift 调试中非常没有帮助,但正如 El Captain 指出的那样,Swift 中:后面的信息应该是一种对象类型。

你的代码中有几个问题...(选角,检查可选)...所以这里都存在一些逻辑问题..这是一些解决方法

if let enteredAge = age.text, myInt = Int(enteredAge) {
     //... success...
     let catYears = myInt * 7  // myInt gives you Int value , enteredAge returns String 
     print(catYears)
}
else{
     //.... handle nil  ....  
}

首先,我想说你应该读一下El Captain和Eric D已经说过的话。

要回答您的问题,请执行以下行:

var myInt: 13 = int(enteredAge)

应该是:

var myInt = Int(enteredAge)

这将摆脱您的警告。但是,有一些明确的逻辑问题可以解决[通过多种方式,但最简单的方式],如下所示:

@IBAction func findAge(_ sender: AnyObject) {
    let enteredAge = age.text
    let myInt = Int(enteredAge)
    let catYears = myInt * 7
    print(catYears) 
}