如何通过多个关系查找 CoreData 对象

How to find CoreData Object via multiple relationships

提问人:Dan Donaldson 提问时间:11/14/2023 更新时间:11/14/2023 访问量:26

问:

我有许多具有多个关系的 CoreData 对象。我将重点介绍一个,答案。CoreData 关系如下所示:

enter image description here

它没有自己的字段,只是充当三个实体的连接器。

如何构建一个搜索,以返回具有所有三个相关对象的任何答案?

protocol MenuCoreDataDelegate {
    func addNewAnswer(team : Team?, challenge : DBChallenge?, video: DBVideo) -> Answer?
    func updateAnswer()
}

在创建新的 Answer 时,我传入了三个对象,并且我会对 update 函数执行相同的操作,但是查询是如何构造的呢?

目前,我只能将每个对象的 .answer 相关对象相交,这很好,但似乎有一个更面向数据库的解决方案?

Swift Xcode 核心数据 关系

评论

0赞 Larme 11/14/2023
为其构造 NSPredicate。?例如,如果有一个特定的名称,您可以代替该部分NSPredicate(format: "%K = %@ AND %K = %@ AND %K = %@", argumentArray: [#keyPath(Answer.challenge), theTargetChallenge, #keyPath(Answer.team), theTargetTeam, #keyPath(Answer.videos): theTargetVideo]teamidentifierid#keyPath(Answer.team.id), theTargetTeamId
0赞 Joakim Danielson 11/14/2023
是的,这也正是我要建议的。唯一的问题是,是否是一对多的关系,或者它是否只是一个令人困惑的名字。videos
0赞 Dan Donaldson 11/15/2023
视频是一种多对多的关系。这会影响谓词构造吗?我假设它变成了一个数组?

答: 暂无答案