我有一个使用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)
}
答案 0 :(得分:1)
在代码的其余部分中查找您称为save()
的其他地方。如果您在核心数据周围使用包装器,请搜索它们称为save()
的位置。您可能与applicationDidEnterBackground
有联系。在save()
上添加一个断点,看看它叫什么。