0

我有添加、更新的记录。然后将它们与服务器同步。根据服务器响应,如果其中一个更新失败,我希望将 NSManagedObject 设置为以前的值。在我研究时,UndoManager 作为堆栈工作,所以我找不到任何带有 Id 的记录并撤消该记录,对吗?

最后,您对这个问题有何建议?

4

1 回答 1

0

您可以通过引入您自己的 ID 属性并将其与服务器同步来跟踪您的对象。我认为这是一个坚固而坚固的设计 - 我已经多次使用它而没有问题。

Apple 确实为每个托管对象提供了一个 objectID,但这实际上是为了确保跨不同托管对象上下文的数据的一致性。我不建议为外部系统“滥用”这个 ID。

您的服务器可以提供旧值(连同未更新的消息),您可以将其写回您的核心数据存储区,使用您的 ID 属性查找记录。对于更精细的更改和更新管理,您甚至可以使用时间戳属性。

于 2013-03-12T16:30:36.017 回答