0

我试图弄清楚如何设计核心数据设置。

我有一个在主线程中运行的 NSManagedObjectContext,它正在由另一个后台线程(它有自己的上下文)更新,通过使用 NSManagedObjectContextDidSaveNotification 回调更新主上下文:系统的这一部分工作正常。

我的问题是尝试保存用户数据以及如何立即向 Web 服务器发送请求以保存此数据,同时仍将其添加到主上下文中。实体对象很重要,因为在服务器上保存用户数据的请求是通过查看其属性生成的。如果该实体对象已成功更新 Web 服务器上的数据(从后台上下文到主上下文),则该实体对象应正确更新。

因此,例如,如果我要创建一个链接到主上下文的新 NSEntityDescription,我是否会监听 NSManagedObjectContextDidSaveNotification,然后创建一个后台线程,我将为该线程创建一个新上下文并发送实体对象 ID。然后这将更新主上下文并将对象实体设置为发送?

4

1 回答 1

0

在主线程的 managedObjects 中对 managedObjects 进行更改(但不要保存你的 moc),向服务器发送一个请求以进行更改(使用类似 NSURLConnection -sendAsynchronous 请求之类的东西),在你的完成处理程序中成功触发你自己的 NSNotification 来提醒你的控制器现在可以安全地保存 moc。如果它失败了,你可以提醒用户,使用核心数据的撤销,或者类似的东西。

于 2013-03-08T12:18:21.660 回答