在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]
这将丢弃所有更改并将对象转为故障.