如何预测数组字典以查找匹配值

时间:2016-12-01 06:48:11

标签: arrays swift dictionary search nspredicate

我有以下字典:

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"]) }

1 个答案:

答案 0 :(得分:0)

您不需要(并且不应该)使用NSPredicate这样简单的事情。

arrayTableData = allProducts.filter() { product in
    return product["productDetails"]?.contains { details in
        return details["productName"]?.contains(text) ?? false
    } ?? false
}
相关问题