我正在 iPad 和 Web 服务器之间构建同步功能。我使用的方法与此处描述的方法非常接近。我只有一种类型的对象,我们称它为 Story,它必须是同步的。它是一个核心数据实体(托管对象)。
我必须解决的剩余问题是知道“无论何时发生变化并需要同步到服务器”。一种方法是找到修改故事的每一段代码,并设置一些需求同步标志。这似乎并不优雅,而且似乎随着时间的推移,开发人员可能会忘记更新标志以进行新的修改类型。
Core Data 对象是否有办法观察自己,所以任何时候进行任何更改,都会执行特定的方法?这将使这很容易。
另一种选择可能是在对托管对象上下文执行保存操作之前使用 isUpdated 方法。您要么必须仅在一个地方调用 save ,要么在您保存的每个地方都执行此操作(听起来像第一个选项)。我想我可以制作一个辅助方法,在保存之前遍历所有 Story 对象,看看它们中的任何一个是否需要设置它们的标志。唯一的缺点是我会遍历系统中的所有 Story 对象以进行任何保存,即使是与 Story 无关的保存。
无论如何,我将不再试图大声猜测解决方案 - 有没有人有过这样做的好方法的经验?