iOS同步 – 核心数据对象知道必须推送到服务器的好方法是什么?

我正在构buildiPad和Web服务器之间的同步function。 我正在使用一个非常接近这里描述的方法。 我只有一种types的对象,我们称之为“故事”,它必须被同步。 它是一个核心数据实体(被pipe理对象)。

我必须解决的其余问题是知道“什么时候发生了变化,需要与服务器同步”。 一种方法是去find修改故事的每一段代码,并设置一些需要同步的标志。 这似乎并不优雅,似乎随着时间的推移,开发人员可能会忘记更新新的修改types的标志。

核心数据对象是否有观察自己的方法,所以任何时候做任何改变,都会执行一个特定的方法? 这会让这很容易。

另一种select是在对托pipe对象上下文进行保存操作之前使用isUpdated方法。 你要么只需要在一个地方叫保存,要么在保存的每个地方都做这个(听起来像是第一个选项)。 我想我可以做一个帮助器方法,通过所有的故事对象保存之前,看看他们是否需要他们的国旗设置。 唯一的缺点就是我会遍历系统中的所有Story对象来保存任何东西,即使对于一个Story也没有任何关系。

无论如何,我会停止尝试大声猜测解决scheme – 有没有人有一个很好的方法来做到这一点的经验?

SDK已经涵盖。 请参阅NSManagedObjectContext类的引用 ,在页面的最后,MOC将发布可以订阅的通知,包括NSManagedObjectContextObjectsDidChangeNotification。 你可以听这些,并做更新调用几乎与保存MOC一致。