3

我似乎在使用 RestKit 从核心数据中删除项目时遇到问题。我通过restkit调用了一些基于lat和lng的MovingObjects。它们存储在 CD 中。当我想再次拨打电话时,我从 CD 中手动删除所有 MovingObjects,然后再次拨打电话。

我想要发生的是进行初始调用以获取所有 MovingObjects 然后再次调用它并让 Restkit 将它们保留在 CD 中,如果它们与再次返回的对象匹配,添加任何我没有的,但删除 CD 中的其余部分t 从第二次调用返回。

我试图只存储新鲜的移动对象,因为一些移动对象可能会移出地理围栏区域。

已编辑 ======== 要清楚。我不想删除服务器上的对象。我问服务器,“给我你在基于这个纬度,lng 的地理围栏区域中看到的所有对象”。服务器以 20 个对象的列表进行响应。我认为每 15 秒再次轮询一次,并再次询问“根据这个纬度,lng 将你在地理围栏区域中看到的所有对象给我”它会响应。但这次它响应了 10 个对象,其中 5 个与上次相同,5 个新对象。

我需要做或希望 Restkit 做的是

1. 删除 CD 中的所有对象,并用第二次调用的 10 替换。

或者

2. 从 CD 中删除第二次调用时未返回的 10 个,单独保留 5 个持久对象并添加新的 5 个对象。

我在想,因为这些是连续瞬态的对象,我不应该将它们存储在 CD 中。

4

2 回答 2

1

您想查看“获取请求块和删除孤立对象”部分:http ://restkit.org/api/latest/Classes/RKManagedObjectRequestOperation.html 。它要求您使用 RKObjectManager 并让您的对象具有添加到映射中的唯一标识,并描述您告诉 RestKit 如何在数据存储中查找应删除的内容的方式(它会检查并不'不要删除它刚刚从服务器收到的东西)。

于 2013-06-15T17:48:42.207 回答
0

尽管Wain引用的参考文档有点混乱,但设置 a实际上是在本地而不是在服务器上删除孤立对象的方法。我在这里发布了与此类似的问题,并使用一些示例代码进行了自我回答。RKFetchRequestBlockRestKit

于 2013-12-07T09:45:15.927 回答