核心数据保存对象与现有对象的关系
Core Data saving Object's relationship to existing Object
如何保存 Todo 项并设置其与现有类别(如果已经存在)的关系?我知道如何创建一个新类别并将其与新 Todo 的关系设置为如下所示。我在一个表单中执行此操作。
Category
设置为 many
Todos
.
let category2 = Category(context: viewContext)
category2.id = UUID()
category2.title = "Fun"
let todo = Todo(context: viewContext)
todo.title = "Hi"
todo.dueDate = Date.now
todo.relationship = category2
try? viewContext.save()
//todo.relationship = create a new Category if one doesn't exist, if it does exist, select that as the relationship. If no category, then do nothing
我一直在关注这个解决方案https://www.youtube.com/watch?v=y1oWprQqLJY&t=483s,它有同样的问题,每次按下按钮都会创建一个新的“原点”。
我的代码很好,我只是缺少此处解释的合并策略。如果您正在关注 Paul 的 HackingWithSwift 视频,请确保您这样做...
这将处理重复项以及核心数据实体的约束集。
self.container.viewContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump
如何保存 Todo 项并设置其与现有类别(如果已经存在)的关系?我知道如何创建一个新类别并将其与新 Todo 的关系设置为如下所示。我在一个表单中执行此操作。
Category
设置为 many
Todos
.
let category2 = Category(context: viewContext)
category2.id = UUID()
category2.title = "Fun"
let todo = Todo(context: viewContext)
todo.title = "Hi"
todo.dueDate = Date.now
todo.relationship = category2
try? viewContext.save()
//todo.relationship = create a new Category if one doesn't exist, if it does exist, select that as the relationship. If no category, then do nothing
我一直在关注这个解决方案https://www.youtube.com/watch?v=y1oWprQqLJY&t=483s,它有同样的问题,每次按下按钮都会创建一个新的“原点”。
我的代码很好,我只是缺少此处解释的合并策略。如果您正在关注 Paul 的 HackingWithSwift 视频,请确保您这样做...
这将处理重复项以及核心数据实体的约束集。
self.container.viewContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump