您好,我正在尝试制作一个将人类年份转换为猫年的应用程序,但是您点击以显示猫年的按钮遇到了一些麻烦。
@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)
}