Swift不允许部分应用协议方法

时间:2015-07-10 09:26:29

标签: swift function protocols

我从Swift

收到一条奇怪的错误消息
  

不允许部分应用协议方法

我尝试将一个函数传递给一个类。我的代码看起来像是

Condition.swift

BG='url(' + "data:image/jpeg;base64," + item.car_intImage3+ ')';
    $('#item').css('background',BG);

TimerCondition.swift

public protocol Condition {
  var type: String { get set }

  init(conditionJson: JSON)

  func getExpression() -> NSPredicate
  func getConditionAction(actionHandler: () -> Void)
}

现在我在这里得到错误

public class TimerCondition: Condition {
  public var type: String
  public var seconds: Int

  required public init(conditionJson: JSON) {
      self.type = conditionJson["conditionType"].stringValue
      self.seconds = conditionJson["conditionType"].intValue
  }

  public func getExpression() -> NSPredicate {
      return NSPredicate(format: "1 == 1")
  }

  public func getConditionAction(actionHandler: () -> Void){
      actionHandler()
  }

}

如果我在没有协议的情况下完成所有工作,那就可以了。

有人可以帮助我吗?

修改

Partial application of protocol method is not allowed中描述的解决方案无法应用于我的问题,因为我想使用参数

0 个答案:

没有答案