在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