核心数据:使用选项更新NSManagedObject以回退到其原始状态

时间:2012-10-29 10:20:43

标签: objective-c ios cocoa-touch core-data

考虑具有一组属性A的托管对象,这些属性必须用一组属性B替换。但是,检索B的信息的机制不是故障安全的(例如,如果网络连接失败)并且B有可能无法完全构建。在这种情况下,我需要回到对象A的状态以保持一致性 在这种情况下,实现故障安全,一致的更新机制的最佳核心数据模式是什么?

1 个答案:

答案 0 :(得分:1)

在将save:选择器发送到NSManagedObjectContext对象之前,您的所有更改都不会保留。一旦'保存',您就创建了一个'提交点'。如果要回滚自核心数据中的上一个提交点以来所做的任何更改,请将rollback选择器发送到NSManagedObjectContext。您需要检查网络活动的成功结果,并根据最终结果发送save:rollback