当它们没有出现在JSON中时,Restkit会删除Coredata中的对象

时间:2012-05-24 21:14:49

标签: ios core-data restkit

我有一个问题......有点令人沮丧。但这是由于我自己(缺乏)作为程序员的技能:)。

基本上,我有一个在线导航服务,可以将博客帖子发送到我的应用程序(使用休息套件和核心数据制作)。然后Restkit将它们映射到tableview上。一旦restkit执行此操作,我会在向服务器发出“上次成功”请求时在我的应用程序中创建时间戳。效果很好。

下次更新时,它会将该时间戳发送到rails应用程序,该应用程序仅发送自此后添加的对象(以JSON格式)(即增量更新)。

现在针对这个问题,出于某种原因,当restkit收到此消息时,它会删除核心数据中先前更新中的所有对象,并仅显示它在JSON中接收的“delta”/新对象。所以我认为restkit认为既然旧的对象不是新JSON的一部分,那么它们必须是孤立的并继续删除它们。

如何阻止这种情况发生?我的问题是每次有更新请求时我都不想传输我的整个在线数据库(带宽浪费,我觉得有点不雅)。有没有办法保持coredata数据库的完整性,只能“添加”它?

我看到一些帖子提出同样的问题,但没有一个人对此有答案(我想,但有时我可能会很愚蠢)!

请帮忙

此致

1 个答案:

答案 0 :(得分:1)

想出来;

查看RkManagedObjectLoader.m文件并查找方法 deleteCachedObjectsMissingFromResult

禁用此方法以防止核心数据中的任何内容被删除。

希望这有帮助