从后台返回后,CoreData崩溃

时间:2018-10-08 07:42:52

标签: ios swift core-data

在我的应用中,我有一个这样的CoreData上下文,可以在我的所有视图控制器中使用,如下所示:

let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

在特定的详细视图控制器中,我执行以下操作:

override func viewWillDisappear(_ animated: Bool) {
        do {
            myCoredataObject.attribute = aTextView.text
            try context.save()
        } catch {
            fatalError("Failure to save context: \(error)")
        }
    }

现在,我可以在主视图控制器和此详细视图控制器之间来回移动,并对对象进行更改。更改似乎仍然存在:从Xcode重新启动应用程序之后,myCoredataObject.attribute具有与重新启动之前相同的值。

但是,当我切换到另一个应用程序,重新访问我的应用程序并更改myCoredataObject.attribute时,try context.save()会因

崩溃
  

致命错误:无法保存上下文:Error Domain = NSCocoaErrorDomain   代码= 133020

为此,我在applicationDidEnterBackground中放置了另一个try context.save(),但无济于事。

我想这与线程有关。你们中的任何一个可以给我建议如何解决这个问题吗?

0 个答案:

没有答案