考虑一个具有一组属性 A 的托管对象,该对象必须替换为一组属性 B。但是,检索 B 信息的机制不是故障安全的(例如,如果网络连接出现故障)并且 B 有可能无法完全构建。在这种情况下,我需要回退到对象 A 的状态来保持一致性。
在这种情况下,实现故障安全、一致更新机制的最佳核心数据模式是什么?
最佳答案
在您将 save:
选择器发送到 NSManagedObjectContext
对象之前,您的任何更改都不会保留。 “保存”后,您就创建了一个“提交点”。如果您想回滚自核心数据中最后一个提交点以来所做的任何更改,请将 rollback
选择器发送到您的 NSManagedObjectContext
。您需要检查网络事件的成功结果,并根据最终结果发送 save:
或 rollback
。
关于objective-c - 核心数据 : Update an NSManagedObject with the option to fall back to it's original state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119665/