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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...