【发布时间】:2015-07-24 10:17:54
【问题描述】:
我最近冒险使用 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
}
}
显然这行代码不起作用并提示missing argument label 'num2:' in call
//return _strategyProtocol.calculate(num1, num2)
谁能告诉我如何解决它并向我解释。
【问题讨论】:
标签: swift design-patterns methods argument-passing strategy-pattern