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

在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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...