当在let变量上展开Optional值时,Swift意外地发现了nil

时间:2015-08-29 02:15:07

标签: ios iphone xcode swift

我是iOS开发的新手。我无法弄清楚我在生活中做错了什么。我正在接受

  

“主题1:EXC_BAD_INSTRUCTION(代码= EXC_l386_NVOP,子代码= 0x0)”

menCalories变量出现

错误。在调试器中我收到错误:

  

“致命错误:在展开可选值"

时意外发现nil

这是我的代码。非常感谢任何帮助。

@IBAction func calculate(sender: AnyObject) {

    var ageInt:Int? = age.text!.toInt()
    var weightInt:Int? = weightLabel.text!.toInt()
    var heightInt:Int? = height.text!.toInt()

    if gender.selectedSegmentIndex == 0 {

        let menCalories:Double = 66.47 + (13.75 * Double(weightInt!)) + (5.0 * Double(heightInt!)) - (6.75 * Double(ageInt!))

        calories.text = "\(menCalories)"

    }

    if gender.selectedSegmentIndex == 1 {

    }

}

1 个答案:

答案 0 :(得分:2)

  

“致命错误:在解开可选值时意外发现nil”

wait没有任何价值时会发生这种情况。

您需要做的是在打开它之前检查变量是否为Optional

例如,假设nil是具有ageInt值的Optional

nil

或使用if ageInt != nil { // Do Something } 语句安全地展开值:

if let