2016-11-18 8 views
0

私はswift.iのプログラミングでは新しいですが、このコードは他のチュートリアルに従って作成しましたが、動作を実行するための正しい書き込みtypを見つけることができませんか?スイッチケース内で速やかな電卓操作

@IBAction func operation(_ sender: UIButton) { 
    let operate = sender.currentTitle! 
    switch operate { 
    case "+" : performOperation() {} 
    case "-" : performOperation() {} 
    case "*" : performOperation() {} 
    case "/" : performOperation() {} 
    default: break 
    } 

} 

func performOperation(operate: (Double, Double) -> Double) { 
    } 
+0

のための2つの方法のいずれかを使用することができ確かではありませんが、これはスタンフォードのチュートリアルのコードなので、私はその権利を推測します。私は、私が中括弧に挿入して操作を行うために何をしなければならないかを知る必要があります –

+0

https://github.com/ursooperduper/calculator/blob/master/Calculator/ViewController.swift –

答えて

1

performOperation方法は、タイプ(Double, Double) -> Doubleの引数を受け入れます。

方法-1:

今、この引数には、以下のいずれかとすることができます。タイプの閉鎖(Double, Double) -> Double

方法-2。以下の例では、両方の方法使用(Double, Double) -> Double

としてメソッド名を有する署名:同様

func operation() 
    { 
     let operate = sender.currentTitle! 
     switch operate 
     { 
     case "+" : performOperation(operate: add) //using Method-2 
     case "-" : performOperation(){(a: Double, b: Double) -> Double in 
      return a - b 
     }//using Method-1 
     default: break 
     } 
    } 

    func add(a: Double, b: Double) -> Double 
    { 
     return a + b 
    } 

    func performOperation(operate: (Double, Double) -> Double) 
    { 
     let x = operate(3, 4) 
     print(x) 
    } 

は、あなたがない、私は、他のすべてのcasesswitch statement.