“常规”与“锻炼”有一对多的关系 . 两者都是NSManagedObject类 . 我有一系列名为“myWorkouts”的训练,我想在阵列中的每个训练和例程之间 Build 关系 . 这是我的数据模型:
以下是“Routine”类属性的代码:
extension Routine {
@NSManaged var name: String?
@NSManaged var workout: Set<Workout>?
}
这是我正在尝试创建关系的代码:
var myWorkouts = [Workout]()
for workout in myWorkouts {
routine!.workout = Set(arrayLiteral: workout)
}
我遇到的问题是,每次正在保存的锻炼都会覆盖最后保存的锻炼,因此,实际上,它只是将阵列中最后一次锻炼保存为常规关系 . 如何保存所有这些?
1 回答
您每次通过循环覆盖一组关系:
这相当于以下每次都会覆盖锻炼中存储的值 .
相反,您需要一次分配包含所有锻炼的Set: