在Swift中将输入字段字符串转换为Int

时间:2014-06-15 13:15:02

标签: ios swift

因此,我非常擅长制作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

2 个答案:

答案 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我尝试了这段代码,它运行没有错误!