gpt4 book ai didi

ios - 核心数据提交通知

转载 作者:行者123 更新时间:2023-11-29 11:10:32 24 4
gpt4 key购买 nike

我在我的项目中使用 Core Data,我必须将用户填写的表单保存到 Core Data DB 中。用户重新启动应用程序后,已保存表单的列表应显示在 TableView 中。但是,如果用户在 Core Data 提交更改之前退出应用程序,则不会保存表单。有什么方法可以捕捉到我的数据提交的时刻吗?

这是我保存表单的方式:

if (![document.managedObjectContext save: &error]) {
NSLog(@"DB saving error!");
}
else {
NSLog(@"DB save OK!");
//show alertView
}

我尝试使用 -com.apple.CoreData.SQLDebug 1 来跟踪核心数据提交时刻。日志显示大约15秒后开始保存对象。

 // This is how my log output looks like
2012-08-03 14:50:43.587 iPadAF_new[4506:707] DB save OK!
2012-08-03 14:50:58.628 iPadAF_new[4506:2597] CoreData: sql: COMMIT

那么我怎样才能在提交后得到通知或其他东西,这样用户在保存之前将无法退出应用程序?

最佳答案

您可以从上下文中注册 NSManagedObjectContextDidSaveNotification 以查明上下文何时已保存,或者您可以观察属性 hasChanges 的 KVO 通知。我怀疑这些是否适用于背景,因此它们可能无法解决您的问题。

关于ios - 核心数据提交通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11795391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com