我收到此错误:


  线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)


我该如何解决?该代码正常工作,但是在计算器中,当我单击唯一的相等按钮时,它给出了该错误。

@IBAction func equals(sender: AnyObject) {

    secondNumber = Screen.text!.toInt()!  // here it shows an error which is "Thread 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)"

    if operation == "+"{
        result = firstNumber + secondNumber
    }
    else if operation == "-" {
        result = firstNumber - secondNumber
    }
    else if operation == "x" {
        result = firstNumber * secondNumber
    }
    else {
        result = firstNumber / secondNumber
    }
    Screen.text = "\(result)"
}

最佳答案

这条线

secondNumber = Screen.text!.toInt()!


表示:获取Screen对象,获取text属性,如果不存在,请崩溃,然后将文本转换为整数,如果不存在,请崩溃。

那就是!意思是:它的意思是“我确定这个东西存在,所以请崩溃”。这就是它所做的。

09-05 07:24