Сбои CoreData при сохранении контекста основного объекта
Когда я перемещаю свое приложение в фоновый режим, кажется, что CoreData вылетает, как только я сохраняю mainObjectContext. В консоли я вижу следующую ошибку:
CoreData: error: SQLCore dispatchRequest: exception handling request: <NSSQLSaveChangesRequestContext: 0x6000064c7ac0> , -[_SwiftValue encodeWithCoder:]: unrecognized selector sent to instance 0x60000319de00 with userInfo of (null)
Метод сохранения контекста основного объекта реализован так:
func save() {
if mainManagedObjectContext.hasChanges {
mainManagedObjectContext.performAndWait {
do {
try mainManagedObjectContext.save()
} catch {
NotificationCenter.default.post(name: .ManagedObjectContextSaveError, object: nil)
}
}
NotificationCenter.default.post(name: .MainManagedObjectContextSaved, object: nil)
}
}
Этот метод вызывается из AppDelegate.applicationWillResignActive(_:)
Я не уверен, почему здесь вызывается encodeWithCoder и почему он зависает.
На самом деле, я даже не уверен, как решить эту проблему здесь.