我在 Core Data 中有一个带有 2 个子实体的父实体。 我保存了一个包含父级属性的子实体。如何通过将数据附加到前一个而不是生成一个只有第二个孩子的属性的空实体来添加另一个子实体?
核心数据:
代码:
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Parent.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Parent.parentName, ascending: true)]) var parent: FetchedResults<Parent>
@FetchRequest(entity: Son.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Son.boysName, ascending: true)]) var son: FetchedResults<Son>
@FetchRequest(entity: Daughter.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Daughter.girlsName, ascending: true)]) var daughter: FetchedResults<Daughter>
var body: some View {
VStack {
Button(action: {
let theSon = Son(context: moc)
let theDaughter = Daughter(context: moc)
theSon.boysName = "Big brother"
theSon.parentName = "Father"
theDaughter.girlsName = "Baby sister"
theDaughter.parentName = "Father"
PersistenceController.shared.save(info: "saved")
}, label: {
Text("add family list")
})
}
}
SQLlite: 我可以保存每个孩子,但它们在不同的行中,如下图。 如何将它们合并为同一个?
我曾尝试插入 Son 实体,但失败了:
let theDaughter = Daughter(entity: Son.entity(), insertInto: moc)