【问题标题】:Is it correct to save custom core data object using managedObjectContext property使用 managedObjectContext 属性保存自定义核心数据对象是否正确
【发布时间】:2017-09-10 19:51:14
【问题描述】:

我在核心数据中有一个托管对象。这是一个具有所有必要托管属性的自定义对象。我想知道如果我使用同一对象的 managedObjectContext 属性调用保存方法是否正确?当我们创建这个对象时,我们将 managedObjectContext 传递给初始化程序。此对象是否将传递的上下文保存在该属性中?

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "Message", in: context)
let message = PopMessage(entity: entity!, insertInto: context)

现在修改它的属性后我可以这样调用吗?

message.managedObjectContext.save()

我觉得这更方便,但不确定这是否会产生预期的结果。

【问题讨论】:

    标签: ios swift core-data


    【解决方案1】:

    没关系。两个上下文都指向同一个对象,结果是一样的。唯一需要注意的问题是托管对象不保留指向上下文的强指针。因此,如果上下文已经留下内存,您将遇到问题。如果您创建上下文而不将其分配给变量,或者使用块传递 managedObject,就会发生这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2020-12-22
      相关资源
      最近更新 更多