Ios Swift给出可选(3)而不是.toInt的3
试图从字段中提取一个数字,并继续获取可选(数字)而不是该数字Ios Swift给出可选(3)而不是.toInt的3,ios,swift,xcode6,Ios,Swift,Xcode6,试图从字段中提取一个数字,并继续获取可选(数字)而不是该数字 @IBOutlet weak var years: UITextField! @IBAction func calculateYear(sender: AnyObject) { var a = years.text.toInt() println(a) } 如果3在字段中,则获取可选(3) 如果我使用years.text,我会得到正确的输出,但它是一个字符串,我无法使用它 使用Xcode 6.1时会发生这种情况,
@IBOutlet weak var years: UITextField!
@IBAction func calculateYear(sender: AnyObject) {
var a = years.text.toInt()
println(a)
}
如果3在字段中,则获取可选(3)
如果我使用years.text,我会得到正确的输出,但它是一个字符串,我无法使用它
使用Xcode 6.1时会发生这种情况,因为toInt()
方法返回一个可选值,以说明字符串不能转换为整数的情况
只需将其放入可选绑定中:
if let a = a {
println(a)
}
toInt()
返回一个可选值,因为与整数的对话可能会失败。考虑用户输入数字以外的东西的情况。当用户输入“Blah”时,您希望toInt()
返回什么
您需要有条件地展开可选文件
if let a = years.text.toInt() {
println(a)
}
我还发现通过将a更改为a来强制展开!工作也很顺利。感谢所有试图帮忙的人 你有什么惊讶?查看标题:function()->Int?
它是可选的。问题是什么?这会让用户很容易崩溃你的应用程序。该字段和kaboom中的任何非整数文本项。