在 "strategy design pattern" -SWIFT 中调用方法时缺少参数标签



我最近在Swift中冒险,但是我不明白为什么我的代码在方法中返回Int时不起作用。

protocol StrategyProtocol
{
    func calculate(num1:Int, num2:Int) ->Int
}
class Context
{
    var _strategyProtocol: StrategyProtocol!
    init(_strategyProtocol: StrategyProtocol)
    {
        self._strategyProtocol=_strategyProtocol
    }
    func Calculate(num1: Int, num2: Int) ->Int
    {
        return _strategyProtocol.calculate(num1, num2)
    }
}
class Add: StrategyProtocol
{
    func calculate(num1: Int, num2: Int) -> Int
    {
        return num1 + num2
    }
}
class Minus: StrategyProtocol
{
    func calculate(num1: Int, num2: Int) -> Int
    {
        return num1 - num2
    }
}

显然这行代码不工作,并提示在调用

中缺少参数标签'num2:'
//return _strategyProtocol.calculate(num1, num2)

谁能告诉我怎么修理它并解释给我听

在计算函数中你缺少第二个参数:

func Calculate(num1: Int, num2: Int) ->Int
  {
    return _strategyProtocol.calculate(num1, num2: num2)
  }

最新更新