我有2个字典数组,我想检查字典的第一个字典中是否存在第二个字典的一个字典。
let dicA = [[String:Any]]()
let dicB = [[String:Any]]()
if dicA.contains(where: dicB[0]) {
print("Contains")
}
else {
print("Not Contains")
}
//它给了我这样的语法错误:-
答案 0 :(得分:2)
Array的contains
方法声明是这样的:
func contains(where predicate: (Element) throws -> Bool) rethrows -> Bool
这意味着您的where
谓词不能是单个参数。应该是这样的闭包:
if dicA.contains(where: { (element) -> Bool in
return false
}) {
} else {
}
替换闭包中的逻辑以返回所需的元素。
答案 1 :(得分:1)
在编码时花点时间。 )
语句中不必要的if
就是原因之一。
let dicA = [[String:Any]]()
let dicB = [[String:Any]]()
let element = dicB[0]
if dicA.contains(where: { (element) -> Bool in
print("Contains")
return true
}) {
}
else {
print("Not Contains")
}