我正在制作一个带有调查问卷的应用程序,我正在使用Core Data来保存其所有数据。
有三个实体: 人(接受调查问卷的人), 问题(问题), QuestionResult(问题的结果)
Person链接到QuestionResult,它与一个问题相关联,所有这些都通过关系进行。
给定Person和Question实体,我希望能够找到两者之间是否存在QuestionResult对象。可以使用NSPredicate完成吗?
答案 0 :(得分:0)
设置:
Person <<------->> Question
Person <-------->> Answer
Question <------>> Answer
解决方案:
NSSet *filtered = [person.answers filteredSetUsingPredicate:
[NSPredicate predicateWithFormat:@"question == %@", questionObject]];
BOOL thereIsAnAnswer = filtered.count != 0;
或者,如果您不需要为某个人分配问题,除非有答案,您可以简化模型:
Person <---------->> Answer <<----------> Question;
谓词将完全相同。