当前位置: 首页 > 面试题库 >

无法使用类型为(((_)-> _)'的参数列表调用'filter'

楚宏胜
2023-03-14
问题内容

听起来很荒谬,但是我无法修复这段代码

self.runningScripts.filter({ $0 != scriptRunner })

无论我如何写闭包,我总是会遇到此错误:

无法使用类型为’ ((_) -> _)‘ 的参数列表调用’filter ‘

runningScripts 定义如下:

var runningScripts = [ScriptRunner]()

并且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
}


 类似资料: