iOS核心数据:获取子魔法记录数据

时间:2014-08-05 04:15:04

标签: ios arrays search core-data predicate

我有3个核心数据实体。

MenuItemsItemsItemLangs

所有实体都有iItemId属性。用户需要使用sItemName中的ItemLangs进行搜索。

UITableView包含MenuItems的数组。

我尝试过filterArrayUsingPredicate,但我的谓词不对。在我可以过滤数组之前,是否需要首先遍历MenuItems数组?

这是我的谓词:

  

NSPredicate * resultPredicate = [NSPredicate   predicateWithFormat:@" sItemName LIKE%@",searchText];

我可以知道如何使用它来过滤我拥有的MenuItem数组吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

你需要的是这样一个谓词:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"sItemName CONTAINS[cd] %@", searchText];

[cd]代表不区分大小写。

或者,如果您喜欢“喜欢”,请参阅this answer

<强>更新

您还应该查看要获取的数据项 - 在您的案例中为sItemName。通过调试器,检查数据源数组返回的对象是什么?我指的是你想要应用上述谓词的数组。也许在通过sItemName时涉及一些keypath层次结构,在这种情况下你需要使用点表示法,例如Items.ItemLangs.sItemName

答案 1 :(得分:2)