我有一个需要过滤的对象数组。我知道我应该使用NSPredicate,但似乎找不到通过对象中的字符串过滤,在另一个对象内部的答案。
以下是数组的单个对象:
{
"data_center"
{
"id":1,
"site_id":17,
"name":"Building",
"shortname":"ORL-Building",
"created_at":"2011-10-28T06:32:39Z",
"updated_at":"2011-10-28T06:32:39Z",
"site":
{
"id":17,
"name":"Orlando",
"shortname":"ORL"
}
}
}
如何使用嵌套对象中的Site.name过滤数组?数组本身是一个NSArray,它需要filteredArrayUsingPredicate:。
此外,我找到过滤数组的数据的方法是从UIPickerView中提取,所以我必须检索从不同的pickerview使用的对象,并根据字符串过滤第二个数组网站名称。
我似乎无法找到一个好的答案,如果有人有任何建议我会非常感激。
答案 0 :(得分:3)
谓词可以使用键路径导航到数据结构,因此您可以执行以下操作:
@"data_center.site.name LIKE %@", name
您还可以使用enumerateObjectsUsingBlock:
来构建您感兴趣的项目列表。