如何在Core Data中获取数据时避免未保存的实体?

时间:2012-10-20 15:26:01

标签: ios core-data

这是我的第一个项目,我使用Core Data和sqlite作为后备存储。 以下是该场景的快速详细信息:

  • 有一个反馈表单可以在一个屏幕上填写。
  • 有一个屏幕,我可以看到保存的表格。
  • 表单数据可以与后端服务器同步。
  • 我正在使用MKNetworkingKit与REST API进行交互。 (看起来我应该看看RestKit,但我没有时间回去)
  • 当我保存表单时,我将应用程序的主要managedObjectContext中的数据保存到persistentStore。
  • 在表单屏幕中,我有一个同步按钮,可以将应用程序数据与后端同步。
  • 同时在本地保存数据时,我会检查连接情况并将其余未同步的数据推送到服务器。
  • 在我保存表单的屏幕中,我还有一个同步按钮来同步数据。

我的问题是,在我填写表单时屏幕上,实体中的表单信息不完整,并且处于不一致状态。

我使用与我的dataManager单例相同的方法来进行同步。 在我同步数据的其他屏幕中,我的托管对象上下文处于一致状态,我可以同步数据,但在填写表单时,我想避免我正在处理的实体并且没有保存它。

我现在应该做些什么来快速完成工作?

使用核心数据设计此类应用程序的理想方法是什么?

1 个答案:

答案 0 :(得分:0)

在表单数据完成并经过验证之前,请勿创建实际实体。如果在编辑过程中需要一个中间位置来存储它,请发明一个具有相同数据字段但不是托管对象的对象。 (Java用户经常使用数据传输对象模式执行此操作。)