Restkit 删除 coredata 中特定对象的所有对象

Posted

技术标签:

【中文标题】Restkit 删除 coredata 中特定对象的所有对象【英文标题】:Restkit delete all objects in coredata for a specific object 【发布时间】:2013-05-01 23:00:47 【问题描述】:

使用 Restkit,但我没有看到如何从核心数据中删除所有对象(例如鞋子)?

我以前用的是MSMangedObject+EasyFetching,但是还没有更新到RestKit .20。

【问题讨论】:

【参考方案1】:

RestKit 并非旨在删除所有对象。如果你想这样做,你应该手动进行。

RestKit 旨在让您可以要求它删除与获取请求匹配的任何对象,如果它们在最后一个请求中没有从服务器返回。请参阅:“获取请求块和删除孤立对象”部分中的 RKManagedObjectRequestOperation。

如果您只需要访问托管对象上下文以便手动删除对象,您可以这样做:

[[RKManagedObjectStore defaultStore] mainQueueManagedObjectContext];

【讨论】:

我明白这一点。请参阅我对 NSMangedObject+EasyFetch 的参考。这是与 Restkit 一起使用的类,可以轻松地从 coredata 中删除对象。我提到了 Restkit,因为它们通常是一起使用的。 因此您需要获取要删除的项目,遍历它们并删除每个项目。 那你怎么做呢?假设我有一个名为 RestEngine 的类(它拥有我对 Restkit 的访问权限),但我在某个视图控制器中,我如何才能从其他视图控制器访问 Restkits NSManagedObjectContext?

以上是关于Restkit 删除 coredata 中特定对象的所有对象的主要内容,如果未能解决你的问题,请参考以下文章

解决RestKit中的CoreData合并冲突,当一个上下文正在保存对象更新而另一个正在删除对象时

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

在 Restkit 执行映射操作之前删除 Core data 中的现有对象

使用 Restkit 在 Core Data 中删除后保存对象使其崩溃

RestKit - 删除没有返回的对象

如何从 RestKit 托管对象存储中删除对象