因此,我非常擅长制作APP广告Swift,我试图在文本字段中进行一些非常简单的输入,获取值,并将它们用作Int进行某些计算。
但是有些东西在距离' var距离'
var handicapTal:Int
var MagicNumber:Int
var handicap = inputHCP.text.toInt()
var distance = inputDistance.text.toInt()
if (handicap >= 0 && handicap <= 20)
{
handicapTal = 30
}
else if(handicap > 20 && handicap <= 40){
handicapTal = 10
}
MagicNumber = distance - handicapTal
它是导致错误的最后一行代码。它说致命错误:无法解开Optional.None
答案 0 :(得分:9)
距离,在您的示例中,是一个Int?否则称为可选的Int。 .toInt()返回Int?因为从String到Int的转换可能失败。请参阅以下示例:
Welcome to Swift! Type :help for assistance.
1> let a = "12"
a: String = "12"
2> let b = a.toInt()
b: Int? = 12
3> let c = "Hello"
c: String = "Hello"
4> let d = c.toInt()
d: Int? = nil
5> if let e = a.toInt() { println("e = \(e)") }
e = 12
6> if let f = c.toInt() { println("Huh?") }
7>
答案 1 :(得分:1)
我找到了你的问题!你首先应该初始化障碍。
您可以使用:var handicaptal: Int!
执行此操作。当你在它后面添加!
时,它将设置为nil。或者只是将其设置为0. var handicaptal: Int = 0
我尝试了这段代码,它运行没有错误!