0

我很难把正确的搜索词放在一起来找到这个答案,所以我想我会试着问它。我仍在了解 Core Data。

我有一个 Player 实体和一个 School 实体。玩家与学校有一对多的关系。

我想要所有的 Player 对象,其中 School name 属性可以是几个值之一(即,我想要所有已经上过斯坦福大学、耶鲁大学或杜克大学的球员)。我想我需要使用“IN”子句,比如

[NSPredicate predicateWithFormat:@"schools.name IN ("%@", "%@", "%@"), @"Stanford", @"Yale", @"Duke"];
4

3 回答 3

1

终于明白了。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY schools IN %@", schoolObjectArray];

从 Player 到 Schools 的关系是学校,schoolObjectArray 包含我想要的 School NSManagedObjects。

于 2013-09-26T19:29:58.493 回答
1

不要在谓词格式字符串中引用

[NSPredicate predicateWithFormat:@"ANY schools.name IN (%@, %@, %@)", @"Stanford", @"Yale", @"Duke"];

但这是一段无用的代码。给定一个 NSArray 的名字,我相信你可以这样做:

[NSPredicate predicateWithFormat:@"ANY schools.name IN %@", arrayOfNames];
于 2013-09-26T09:54:52.773 回答
0

也许?

[NSPredicate predicateWithFormat:@"schools.name IN (\"%@\", \"%@\", \"%@\")", @"Stanford", @"Yale", @"Duke"];
于 2013-09-26T01:49:48.597 回答