听起来很荒谬,但我无法解决这段代码:
self.runningScripts.filter({ $0 != scriptRunner })
Run Code Online (Sandbox Code Playgroud)
无论我怎么写闭包,我总是得到这个错误:
无法使用类型为'
((_) -> _)
' 的参数列表调用'filter '
runningScripts
定义如下:
var runningScripts = [ScriptRunner]()
Run Code Online (Sandbox Code Playgroud)
并且ScriptRunner
是一个Swift类(不继承自NSObject)
我在很多其他地方使用的几乎没有问题.有什么建议?
如果您不ScriptRunner
符合以下条件,则可以获得该错误Equatable
:
class ScriptRunner : Equatable {
// the rest of your implementation here
}
func ==(lhs: ScriptRunner, rhs: ScriptRunner) -> Bool {
return ... // change this to whatever test that satisfies that lhs and rhs are equal
}
Run Code Online (Sandbox Code Playgroud)