我的核心数据系统使用具有单个类别集的项目(例如item.category = <Category object>
),我想使用我的NSPredicate来搜索它们。
目前发送搜索字符串“string”只会匹配包含该字符串的项目,但我希望类别也匹配。是否可以设置使用此嵌套结构或自定义选择器的NSPredicate来告诉系统搜索字符串是否匹配?
在伪代码中,我正在寻找:
if (item.title contains "search string" OR item.category.title contains "search string")
object matches search string
答案 0 :(得分:1)
是的,KVC(键值编码)允许您通过实体进行深度链接。但是请注意,加入的实体越多,谓词越贵:
[NSPredicate predicateWithFormat:@"title == %@ || category.title == %@", title, title];
假设您正在针对“item”实体表运行谓词。