我很难将正确的搜索词放在一起找到这个答案,所以我想我会试着问一下。我还在了解Core Data。
我有一个玩家实体和一个学校实体。玩家与学校有很多关系。
我想要所有Player对象,其中School name属性可以是多个值中的一个(即,我想要所有已经去过Stanford,Yale或Duke的玩家)。我想我需要使用'IN'子句,比如
[NSPredicate predicateWithFormat:@"schools.name IN ("%@", "%@", "%@"), @"Stanford", @"Yale", @"Duke"];
答案 0 :(得分:1)
不要在谓词格式字符串
中引用[NSPredicate predicateWithFormat:@"ANY schools.name IN (%@, %@, %@)", @"Stanford", @"Yale", @"Duke"];
但这是一段无用的代码。鉴于NSArray的名称,我相信你可以做到这一点:
[NSPredicate predicateWithFormat:@"ANY schools.name IN %@", arrayOfNames];
答案 1 :(得分:1)
终于明白了。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY schools IN %@", schoolObjectArray];
从玩家到学校的关系是学校,schoolObjectArray包含我想要的学校NSManagedObjects。
答案 2 :(得分:0)
可能?
[NSPredicate predicateWithFormat:@"schools.name IN (\"%@\", \"%@\", \"%@\")", @"Stanford", @"Yale", @"Duke"];