【发布时间】:2019-08-03 17:57:20
【问题描述】:
我使用核心数据作为本地数据库来将本地数据保存在我的 iOS 应用程序中。当应用程序终止并再次重新启动时,本地数据将从核心数据中清除。我从 applicationDidEnterBackground 和 applicationWillTerminate 方法调用 saveContext()。一件事是我更改了核心数据版本。此更改将对重新启动应用程序后的清除数据产生任何影响。
saveContext 方法 - :
func saveContext () -> Bool {
let context = persistentContainer.viewContext
var saveFlag = false
if context.hasChanges {
do {
try context.save()
saveFlag = true
} catch {
saveFlag = false
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
}
return saveFlag
}
注意: 从上面的 saveContext() 方法中,Not 进入 context.hasChanges 条件。因此,不要打印错误消息。它超出了条件并返回 saveFlag 作为 false。
【问题讨论】:
-
请编辑您的问题以显示相关的核心数据代码、您的错误处理代码以及您收到的任何错误。
-
你能看一下吗。我刚刚编辑了我的问题并添加了代码。
-
您能否发布代码,如何为您的 moc 添加值?
-
当应用程序处于前台和后台状态时,我的代码工作正常。但是,当我关闭应用程序并再次重新启动时,本地核心数据库就会变得清晰。
标签: ios swift xcode core-data iphonecoredatarecipes