CoreData保存对象早于预期

时间:2018-10-26 14:56:18

标签: ios swift core-data

我有一个使用Core Data的Match类。 在我的视图控制器中,我在上下文中创建一个Match实例。 我正在使用和修改控制器中的match对象,然后有一个将实例保存在上下文中的按钮。 但是,如果我关闭应用程序而不点击保存按钮,则Match实例仍会保存。

这是我的对象声明:

class ViewController: UIViewController {

//(...)

let match = Match(context: AppDelegate.viewContext)

   override func viewDidLoad() {
   super.viewDidLoad()
   }

//(...)
}

这是我通过按钮调用的保存功能:

@IBAction func saveMatch() {   
    try? AppDelegate.viewContext.save()
    self.dismiss(animated: true, completion: nil)
}

1 个答案:

答案 0 :(得分:1)

在代码的其余部分中查找您称为save()的其他地方。如果您在核心数据周围使用包装器,请搜索它们称为save()的位置。您可能与applicationDidEnterBackground有联系。在save()上添加一个断点,看看它叫什么。