核心数据 - 找出两个对象之间是不是存在关系
Posted
技术标签:
【中文标题】核心数据 - 找出两个对象之间是不是存在关系【英文标题】:Core Data - Find out if a relationship between two objects exists核心数据 - 找出两个对象之间是否存在关系 【发布时间】:2013-01-23 14:07:21 【问题描述】:我正在制作一个包含调查问卷的应用程序,并且我正在使用 Core Data 来保存它的所有数据。
共有三个实体: 人(接受问卷的人), 问题(问题), QuestionResult(问题的结果)
Person 与 QuestionResult 相关联,而 QuestionResult 则通过关系链接到 Question。
给定一个 Person 和 Question 实体,我希望能够找到两者之间是否存在关联的 QuestionResult 对象。这可以使用 NSPredicate 完成吗?
【问题讨论】:
【参考方案1】:设置:
Person <<------->> Question
Person <-------->> Answer
Question <------>> Answer
解决办法:
NSSet *filtered = [person.answers filteredSetUsingPredicate:
[NSPredicate predicateWithFormat:@"question == %@", questionObject]];
BOOL thereIsAnAnswer = filtered.count != 0;
或者,如果你不需要给一个人分配一个问题,除非有答案,你可以简化模型:
Person <---------->> Answer <<----------> Question;
谓词将完全相同。
【讨论】:
以上是关于核心数据 - 找出两个对象之间是不是存在关系的主要内容,如果未能解决你的问题,请参考以下文章