将input字段string转换为Swift中的Int

所以即时通讯非常新,使APP广告Swift,即时尝试在文本字段中做一些非常简单的input,采取的价值,并使用他们作为一些计算诠释。

但有些东西是不正确的与'var distance'

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

在你的例子中,距离是一个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> 

我发现你的问题! 您首先应该初始化残障人士。 你可以这样做: var handicaptal: Int! 。 当你把一个! 在它后面它将被设置为零。 或者只是将其设置为0. var handicaptal: Int = 0我试过这个代码,它运行没有错误!