可以通过关系创建一个NSFetcherRequest
或类似的东西来获取所有对象吗?例如,我有三个实体学生,缺席和主题。学生有NSSet
缺席属性,缺席有属性学生和科目。我需要得到一个学生和一个科目的所有缺席。所以我需要类似这个伪代码:选择所有缺席学生==“具体学生”和主题==“具体主题”。但它不是属性,而是关系!我该怎么做?我知道,我可以得到所有缺席的学生,而不是过滤它,但我认为,效率非常低。
答案 0 :(得分:1)
属性和关系都是托管对象的属性 可以用作谓词中的关键路径,例如:
Student *concreteStudent = ...;
Subject *concreteSubject = ...;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"student = %@ AND subject = %@",
concreteStudent, concreteSubject];
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Absence"];
fetchRequest.predicate = predicate;
如果"学生"和"主题"是缺席实体的一对一关系。