0

我正在 iPad 和 Web 服务器之间构建同步功能。我使用的方法与此处描述的方法非常接近。我只有一种类型的对象,我们称它为 Story,它必须是同步的。它是一个核心数据实体(托管对象)。

我必须解决的剩余问题是知道“无论何时发生变化并需要同步到服务器”。一种方法是找到修改故事的每一段代码,并设置一些需求同步标志。这似乎并不优雅,而且似乎随着时间的推移,开发人员可能会忘记更新标志以进行新的修改类型。

Core Data 对象是否有办法观察自己,所以任何时候进行任何更改,都会执行特定的方法?这将使这很容易。

另一种选择可能是在对托管对象上下文执行保存操作之前使用 isUpdated 方法。您要么必须仅在一个地方调用 save ,要么在您保存的每个地方都执行此操作(听起来像第一个选项)。我想我可以制作一个辅助方法,在保存之前遍历所有 Story 对象,看看它们中的任何一个是否需要设置它们的标志。唯一的缺点是我会遍历系统中的所有 Story 对象以进行任何保存,即使是与 Story 无关的保存。

无论如何,我将不再试图大声猜测解决方案 - 有没有人有过这样做的好方法的经验?

4

1 回答 1

3

SDK 为您服务。请参阅NSManagedObjectContext 类参考,在页面的最后,MOC 将发布您可以订阅的通知,包括 NSManagedObjectContextObjectsDidChangeNotification。您可以收听这些并在保存 MOC 的同时进行更新调用。

于 2012-05-02T14:10:14.433 回答