核心数据,如何限制属性?

时间:2017-11-28 04:14:13

标签: ios objective-c core-data

我有一个教师实体和学生实体。教师可以有很多学生。我如何获取所有教师但每位教师仅限5名学生?

entity =[NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
[context executeFetchRequest:fetchRequest error:nil];

返回所有老师和所有学生。如何限制/偏移属性? (学生)

1 个答案:

答案 0 :(得分:0)

要根据与students的关系计数限制结果,请使用包含@count聚合运算符的提取谓词。这看起来像

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"students.@count < 5"];
[fetchRequest setPredicate:predicate];

这将根据students关系中的对象数过滤结果。 Teacher可能有任意数量的学生,但这只会得到少于5的学生。