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