如何在restkit映射之后和保存到实体之前清除旧实体?

时间:2014-04-20 09:03:40

标签: core-data restkit restkit-0.20

在restkit中,在某些情况下,我想在刷新之前清除实体。我使用后面的代码,它可以工作。

[self clearcache]; //clear the entity
[manager getObjectsAtPath:self.path parameters:self.parameters success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    [self finishedLoadingWithItems:[mappingResult array]];
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
}];

但是现在我想在映射完成之后但在将新项目保存到实体之前清除缓存。 我尝试使用clearcache跟随功能,但不幸的是,这也会清除新项目。

[self finishedLoadingWithItems:[mappingResult array]];

2 个答案:

答案 0 :(得分:1)

最后,我编写了一个addFetchRequestBlockOnce方法,它与addFetchRequestBlock几乎相同,但在执行时会被删除。

[manager addFetchRequestBlockOnce:^NSFetchRequest *(NSURL *URL) {
}];

答案 1 :(得分:0)

这取决于你想要进行清除的时间(在所有请求之后?)。

通常,您希望使用RestKit的fetch request block功能(添加到object manager),您可以在其中指定要执行的获取请求,该请求将返回应该清除的对象。 RestKit将运行此操作并在映射期间删除生成的对象。