我最近在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)
}