我可以阻止RestKit + CoreData覆盖本地实体更改吗?

时间:2012-05-21 20:59:49

标签: ios core-data restkit

我已经配置了一个RKObjectMappingProvider子类,其中包含一系列对象映射,这些对象映射将各种服务端点映射到我的本地核心数据实体&持久存储。假设我有一个服务端点/api/workorders,我使用loadObjectsAtResourcePath:usingBlock:来获取X个工作器列表并持久保存到Core Data。接下来,用户使用应用程序修改其中2个实体,但不会将更改推送回服务。

如果用户再次调用/api/workorders来获取最新的工作程序,是否有办法让RestKit不会自动覆盖对已更改实体的本地修改?

1 个答案:

答案 0 :(得分:1)

简短的回答是不,你必须自己做,而且很快就会变得很讨厌。

您需要覆盖自定义托管对象类的setter。

This kind of thing.

您需要一个属性才能知道它已更新。您需要创建它并在实体更新时进行设置。我会在行级别执行此操作, 然后检查属性,仅在未设置标志时更新。 当然,如果用户想要再次更新值,那么你需要处理这个案例:) Restkit很棒,但不能为你处理完整的同步。