当RKObjectManager无法发布对象时,如何丢弃一个对象中的CoreData更改

Ale*_*kin 14 core-data objective-c ios restkit

当RKObjectManager中此对象的POST/PUT请求失败时,如何丢弃对NSManagedObject实例所做的CoreData更改?

NSManagedObject *object = ...;
[object setValue:@"test" forKey: @"test"];
[[RKObjectManager sharedManager] postObject:object 
                                 parameters:nil 
                                    success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { NSLog(@"success, nothing to do"); }
                                    failure:^(RKObjectRequestOperation *operation, NSError *error) { 
  // I want to discard changes made to object here 
}
Run Code Online (Sandbox Code Playgroud)

更新:RestKit 0.20

Dan*_*lly 45

我什么都不知道RKObjectManager,但为了放弃对NSManagedObject实例的更改,你可以调用:

[object.managedObjectContext refreshObject:object mergeChanges:NO]

这将丢弃所有更改并将对象转为错误.

看这里