以下のような電卓を作成したのですが、Thread 1:signal SIGABRT とエラーが出てしまいます。
自分でエラー箇所を探してみたのですが、見つかりません。わかる方がいらっしゃるのならご協力お願いします。```lang-swift
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel! var userIsInTheMiddleOfTypingANumber: Bool = false @IBAction func appendFigit(sender: UIButton) { let digit = sender.currentTitle! if self.userIsInTheMiddleOfTypingANumber { self.display.text = display.text! + digit } else { self.display.text = digit self.userIsInTheMiddleOfTypingANumber = true } } var operandStack: Array<Double> = Array<Double>() var displayValue: Double { get { return NSNumberFormatter().numberFromString(self.display.text!)!.doubleValue } set{ display.text = "\(newValue)" self.userIsInTheMiddleOfTypingANumber = true } } @IBAction func operate(sender: UIButton) { let operation = sender.currentTitle! if self.userIsInTheMiddleOfTypingANumber { enter() } switch operation { case "×":perFormOperation({$0 * $1}) case "÷":perFormOperation({$1 / $0}) case "−":perFormOperation({$0 - $1}) case "+":perFormOperation({$1 + $0}) default : break } } func perFormOperation(operation: (Double,Double) -> Double) { if operandStack.count >= 2 { displayValue = operation(operandStack.removeLast(),operandStack.removeLast()) enter() } } @IBAction func enter() { self.userIsInTheMiddleOfTypingANumber = false self.operandStack.append(displayValue) }
}
回答1件
あなたの回答
tips
プレビュー