在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
}
更新:RestKit 0.20
解决方法
我对RKObjectManager一无所知,但为了放弃对NSManagedobject实例的更改,可以调用:
[object.managedobjectContext refreshObject:object mergeChanges:NO]
这将丢弃所有更改并将对象转为故障.
see here