2017-02-01 29 views
1

私はXcode 8でスワイプコードを使用しています。誰かが私を助けてエラーを見つけ出せますか? 'string'型の式パターンは 'operation'型の値と一致できません。スイッチ操作時にエラーが表示され、次に×で保持されている場合が表示されます。私の電卓を実行しようとしています

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var display: UILabel! 

    var userIsInTheMiddleOfTyping = false 

    @IBAction func Appenddigit(_ sender: UIButton) { 
     let digit = sender.currentTitle! 
     if userIsInTheMiddleOfTyping { 
      display.text = display.text! + digit 
     } else { 
      display.text = digit 
      userIsInTheMiddleOfTyping = true 
     } 
    } 

    @IBAction func operate(_ sender: UIButton) { 
     _ = sender.currentTitle! 
     if userIsInTheMiddleOfTyping{ 
      enter() 
     } 
     switch Operation() { 
     case "×": 
      if operandStack.count >= 2 { 
       displayValue = operandStack.removeLast() * .operandStack.removeLast() 
       enter() 
      } 
//   case "÷": 
//   case "+": 
//   case "−": 
     default: 
      break 
     } 
    } 

    var operandStack: Array<Double> = [] 
    @IBAction func enter() { 
     userIsInTheMiddleOfTyping = false 
     operandStack.append(displayValue) 
     print("operandStack = \(operandStack)") 
    } 
    var displayValue: Double { 
     get { 
      return NumberFormatter().number(from: display.text!)!.doubleValue 
     } 
     set { 
      display.text = "\(newValue)" 
      userIsInTheMiddleOfTyping = false 
     } 
    } 
} 

答えて

1

Operation()列である"x"と比較するカントタイプOperationの新しいオブジェクトを作成しています。私が望むと思うのは、文字列を返すoperationという関数を呼び出すことです。

3

スウィフト3ではOperationがクラスNSOperationの新しい名前です。

Operation()Operationオブジェクトを作成しています。

"操作"がプログラムにあっても、名前を変更する必要があります。そのコードが何をしているのかを説明して、それを修正する手助けをする必要があります。行

switch Operation() 

私には意味がありません。

関連する問題