gpt4 book ai didi

swift - NSException 类型的未捕获异常

转载 作者:行者123 更新时间:2023-11-28 07:00:29 25 4
gpt4 key购买 nike

我开始自学 Swift,我是一个真正的初学者,我正在开发一个计算器应用程序,就像一个入门项目。我一直收到线程错误,它以 NSException 类型的未捕获异常终止。我在几个地方读到这通常是由于 Storyboard到 View Controller 的连接丢失或错误引起的,但我对所有连接进行了三重检查,我认为这不是问题所在。这是我的 View Controller 代码,它有问题吗?我大部分时间都遵循了教程。

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.
}


}

我非常感谢能得到的任何帮助!

最佳答案

自从首次将 IBOutlet 或 IBAction 安装到 Storyboard/xib 后,您是否碰巧更改了它的名称?

尝试转到 Interface Builder 中的 View Controller ,右键单击 VC 对象以查看所有已连接的 socket ,并检查所有内容是否已连接并且没有任何死链接。 (即,如果您将 func equalsTapped() 重命名为 func equalsTapped(sender: AnyObject),则会引发异常,因为 equalsTapped 不再存在,而不是 equalsTapped: 现在可以,并且连接到第一个。)

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com