Сбой CoreData после возвращения из фона - PullRequest
0 голосов
/ 08 октября 2018

В моем приложении есть один контекст 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.Атрибут try context.save() аварийно завершает работу с

Неустранимая ошибка: сбой при сохранении контекста: Ошибка домена = NSCocoaErrorDomain Code = 133020

Ради этого я имеюпоместил еще один try context.save() в мое приложение DidEnterBackground, но безрезультатно.

Я думаю, это как-то связано с многопоточностью.Кто-нибудь из вас мог бы посоветовать мне, как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...