我正在尝试确定自定义类型的数组是否在2D数组中包含该自定义类型,但是却遇到此错误:Cannot convert value of type 'Modifier' to expected argument type '(Modifier) throws -> Bool'不知道这段代码出了什么问题:

for x in 0..<tableDataSource.count {
    for i in 0..<tableDataSource[x].count {
        if(existingModifiers.contains(where: tableDataSource[x][i].mod)){
            tableDataSource[x][i].selected = true
        }
    }
}
existModifiers是Modifier类型的数组
和tableDataSource是tableElement类型的2D数组
其中tableElement包含Modifier属性

最佳答案

更换:

if(existingModifiers.contains(where: tableDataSource[x][i].mod))
与:
if(existingModifiers.contains(where: { $0 == tableDataSource[x][i].mod }))

注意
在Swift中,您可以省略if语句中的括号以提高清晰度:
if existingModifiers.contains(where: { $0 == tableDataSource[x][i].mod })

08-05 22:45