我正在使用以下代码保存托管对象上下文。
var obj = try decoder.decode(modelType, from: jsonData)
obj.save()
这会将实体插入到主上下文中并保存主上下文。这通常效果很好。我的entity
具有维持唯一性所需的unique constraints
。但是,如果我运行obj.save()
之后上下文中已经有一个条目,则managedObjectContext
的{{1}}会变成managedObject
鉴于我已经定义了nil
,因此我希望合并能够成功完成。
在保存后如何确保不要丢失对上下文的引用。
答案 0 :(得分:0)
除了NSMergePolicy
之外的任何error
都是错误的。它要求核心数据丢失数据,您只需决定哪个。大多数约束是错误的。它要求业务逻辑出现数据库错误。而不是在输入数据之前先验证数据,而是在尝试保存数据时抛出错误。这很难处理。
这并不是说您无法使用合并策略和约束来进行设置。但是我还没有看到使用这些工具使应用程序更易于编程维护的设置。