确定核心数据ManagedObject何时更新

时间:2014-08-08 22:25:52

标签: multithreading core-data listener

我有一个基于网络的API,允许用户下载自上次下载数据以来发生更改的数据。

我只想在Core Data实际更新后更改UpdatedOn日期。解析此数据发生在单独的线程上。

由于我在重复循环数据时保存对实体的更改,因此我不想更改UpdatedOn日期,直到保存所有更改。否则,任何类型的服务中断都会给用户提供不完整的数据,如果不完全删除记录则无法恢复。

当解析线程完成执行时,发送/接收发送/接收的广播/侦听器(不确定我在这里使用正确的术语)是否最好完成?

1 个答案:

答案 0 :(得分:0)

使用单独的持久性存储来编写更改。如果整个更新成功,请更改您的UpdatedOn,然后将新的持久存储移动到旧的持久存储区。

或者,在子上下文中进行更新,如果更新失败,则不丢弃即可丢弃。