核心数据设计设置发送用户数据和接收服务器数据

时间:2013-03-08 09:16:45

标签: ios core-data

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

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

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

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

1 个答案:

答案 0 :(得分:0)

在主线程的mananagedObjectContext中对托管对象进行更改(但不保存您的moc),在完成处理程序中向服务器发送请求以进行更改(使用类似NSURLConnection -sendAsynchronous请求)成功触发您自己的NSNotification以提醒您的控制器现在可以安全地保存moc。如果失败,您可以提醒用户,使用核心数据撤消,或者沿着这些线路。