NSPredicate用于在关系实体内进行搜索

can*_*boy 21 iphone core-data objective-c nspredicate ios

我有一个名为Band的实体,它与Category实体有很多关系.Category实体只包含categoryName字符串属性.

一个示例记录:

Band:       
  bandName: Kiss
  bandCategories:   -  > BandCategory:categoryName:Glam
                    -  > BandCategory:categoryName:Rock
Run Code Online (Sandbox Code Playgroud)

例如,我如何使用NSPredicate通过我的所有乐队搜索与Rock类别相匹配的乐队?

Joe*_*Joe 48

根据NSPredicate编程指南,您需要使用ANYALL说明符指定categoryName的键路径.

NSString *category = @"Rock";
[NSPredicate predicateWithFormat:@"ANY bandCategories.categoryName == %@", category];
Run Code Online (Sandbox Code Playgroud)