import UIKit class ViewController: UIViewController { @IBOutlet weak var display: UILabel! var userIsInTheMiddleOfTypingNumber : Bool = false @IBAction func appendDigit(sender: UIButton) { let digit = sender.currentTitle! if userIsInTheMiddleOfTypingNumber { display.text = display.text! + digit } else { display.text = digit userIsInTheMiddleOfTypingNumber = true } } @IBAction func operate(sender: UIButton) { let operation = sender.currentTitle! if userIsInTheMiddleOfTypingNumber { enter() } switch operation { case "✕":performOperation { $0 * $1 } case "÷":performOperation { $1 / $0 } case "+":performOperation { $0 + $1 } case "−":performOperation { $1 - $0 } case "√":performOperation2 { sqrt($0) } default: break } } func performOperation(operation: (Double,Double) ->Double) { if operandStack.count >= 2 { displayValue = operation(operandStack.removeLast() , operandStack.removeLast()) enter() } } func performOperation2(operation: Double ->Double) { if operandStack.count >= 1 { displayValue = operation(operandStack.removeLast()) enter() } } var operandStack = Array<Double>() @IBAction func enter() { userIsInTheMiddleOfTypingNumber = false operandStack.append(displayValue) println("operandStack = \(operandStack)") } var displayValue: Double { get { return NSNumberFormatter().numberFromString(display.text!)!.doubleValue } set { display.text = "\(newValue)" userIsInTheMiddleOfTypingNumber = false } } } コード
get { return NSNumberFormatter().numberFromString(display.text!)!.doubleValue }
の部分にエラーがでます。どうしてでしょうか。。。。
追加:画像をのせました!おねがいします。
エラーというのは、シュミレーター起動→数字タップ(ラベルにその数字表示)→エンター→次の数字(ラベルに表示)→✕をタップ→クラッシュ(そしてこの画面が出ます)
どんなエラーが出ていますか?
できるだけ詳細に書くと適切な返答が得られると思いますよ。
回答2件
あなたの回答
tips
プレビュー