我有以下字典:
let object = [[String : AnyObject]]()
/*
{
"allProducts":[
{
"productDetails":[
{
"productName":"My product which I am unable to get by NSPredicate."
}
]
}
]
}
*/
我想通过谓词获取“productName”。
尝试过的代码:
let predicate = NSPredicate(format: "productName CONTAINS[c] '\(text)'")
arrayTableData = allProducts.filter() { predicate.evaluate(with: $0["productDetails"]) }
最佳答案
您不需要(也不应该)使用 NSPredicate
来完成如此简单的事情。
arrayTableData = allProducts.filter() { product in
return product["productDetails"]?.contains { details in
return details["productName"]?.contains(text) ?? false
} ?? false
}
关于arrays - 如何谓词数组字典来查找匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40904240/