![](/img/trans.png)
[英]How can I create multiple relationships between the same entities in Coredata?
[英]How do I save multiple relationships to CoreData at once?
“常规”与“锻炼”具有一对多的关系。 两者都属于NSManagedObject类。 我有一系列名为“ myWorkouts”的锻炼,我想在数组中的每个锻炼与例程之间创建一种关系。 这是我的数据模型:
这是“例程”类的属性的代码:
extension Routine {
@NSManaged var name: String?
@NSManaged var workout: Set<Workout>?
}
这是我尝试创建关系的代码:
var myWorkouts = [Workout]()
for workout in myWorkouts {
routine!.workout = Set(arrayLiteral: workout)
}
我遇到的问题是,每次保存的锻炼都将覆盖上次保存的锻炼,因此,实际上,它只是将数组中的最后锻炼保存为与常规的关系。 如何保存所有这些?
您每次通过循环都将覆盖一组关系:
for workout in myWorkouts { routine!.workout = Set(arrayLiteral: workout) }
这等效于以下内容,以下内容每次都会覆盖锻炼中存储的值。
routine!.workout = Set(arrayLiteral: a)
routine!.workout = Set(arrayLiteral: b)
routine!.workout = Set(arrayLiteral: c)
相反,您需要分配一次包含所有锻炼的Set:
routine!.workout = Set(myWorkouts)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.