我的主要实体叫做系列。 Series与一个名为Rounds的实体有一对多的关系,由一对多(有序)连接,Rounds再次有一个带有Shots的NSOrderedSet。 Shots实体有一个名为score的属性,它是一个Integer。
我想要的是获得属于特定系列的Shots实体的所有分数。
let shots = currentSeries.rounds.shots as [Shots]
由于错误消息,没有给我所有的镜头迭代:“类型'NSOrderedSet'的值没有成员:'shot'”。不知何故,我需要为“镜头”实体设置谓词,该实体过滤属于特定“系列”实体的所有镜头。系列实体没有唯一标识符,但我想可以使用时间戳属性隔离特定的“系列”。但同样,我想要所有“镜头”实体,连接到那个特定的“系列”。
我可能非常需要关于CoreData挖掘的帮助,或者至少是关于如何完成我的努力的建议。
答案 0 :(得分:1)
获取给定Shots
的所有Series
的一种方法是使用谓词获取:
let fetch = NSFetchRequest(entityName:"Shots")
let fetch.predicate = NSPredicate(format:"rounds.series == %@", currentSeries)
let currentSeriesShots = try! context.executeFetchRequest(fetch) as! [Shots]
(您应该添加适当的错误处理)。无需使用唯一标识符--CoreData将使用其自己的(内部)标识符来currentSeries
对象来确定要返回的Shots
。