【发布时间】:2013-02-07 06:43:25
【问题描述】:
我正在尝试实现从服务器上的几个表中下载批量数据。
就我而言,有 16 张桌子。对于所有这些表,我将向服务器发出 10 个请求。这意味着我对相关表做了一些逻辑分组,但就像所有表都通过一种或另一种关系相互关联。
下载时需要考虑三种情况:
- 将数据保存到本地的每个表中。
- 管理插入对象之间的关系。
- 处理下载过程中一个请求失败的情况,比如第 8 个请求失败。
我将对每个响应都采用这种方法:
- 在托管对象上下文中插入数据。
- 通过触发 NSPredicate 并关联相关对象来管理关系。
- 保存上下文。
如果响应失败,我有两种选择:
- 下次从失败的响应继续。
- 将所有保存的数据恢复到之前的状态。
第一种方法可能会导致一些数据不一致,所以我将采用第二种方法。
我知道如果未保存托管对象上下文,我们可以恢复更改,但是
是否可以恢复更改,如果托管对象上下文是 保存了吗?
我需要社区提供一些有用的答案。
请提出建议。
【问题讨论】:
标签: cocoa-touch core-data undo