我开始自学斯威夫特,我是一个真正的初学者,我正在工作的计算器应用程序只是一个介绍项目。我一直收到一个线程错误,它以NSException类型的意外异常终止。我在几个地方读到过,这通常是由于从故事板到视图控制器的连接丢失或错误造成的,但是我三次检查了所有连接,我认为这不是问题所在。这是我的视图控制器代码,有问题吗?我大部分时间都在学习教程。

import UIKit

extension String{
    var doubleValue: Double{
        if let number = NSNumberFormatter().numberFromString(self) {
            return number.doubleValue
        }
        return 0
    }
}

class ViewController: UIViewController {

var isTypingNumber = false
var firstNumber:Double? = 0
var secondNumber:Double? = 0
var operation = ""


@IBOutlet var calculatorDisplay: UILabel!
@IBAction func numberTapped(sender: AnyObject) {
    var number = sender.currentTitle

    if isTypingNumber {
        calculatorDisplay.text = calculatorDisplay.text! + number!!
    } else{
        calculatorDisplay.text = number
        isTypingNumber = true
    }
}
@IBAction func calculationTapped(sender: AnyObject) {
    isTypingNumber = false
    firstNumber = calculatorDisplay.text!.doubleValue
    operation = sender.currentTitle!!
}
@IBAction func equalsTapped(sender: AnyObject) {
    isTypingNumber = false
    var result = 0.0
    secondNumber = calculatorDisplay.text!.doubleValue

    if operation == "+"{
        result = firstNumber! + secondNumber!
    } else if operation == "-"{
        result = firstNumber! - secondNumber!
    } else if operation == "*"{
        result = firstNumber! * secondNumber!
    }
    else if operation == "/"{
        result = firstNumber! / secondNumber!
    }

    calculatorDisplay.text = "\(result)"
}



override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}

我真的很感激我能得到的帮助!

最佳答案

自从第一次安装到故事板/XIB中,你是否改变了iBurd或IbAct的名字?
尝试转到界面生成器中的viewcontroller,右键单击VC对象以查看所有已连接的插座,并检查所有设备是否已连接,以及是否没有任何死链接。(即,如果您更名为func equalsTapped()func equalsTapped(sender: AnyObject),将引发异常,因为equalsTapped不再存在,而不是equalsTapped:现在确实如此,并且连接是第一个。)

关于swift - 未捕获的NSException类型的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32172927/

10-12 07:05