我从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中描述的解决方案无法应用于我的问题,因为我想使用参数