在iPhone IOS上使用RestKit保存/删除本地对象



我试图用Core Data和Restkit存储本地对象(未映射),但它不起作用。

我创建了一个NSManagedObject:

@interface JSONOrder : NSManagedObject
@property (nonatomic, retain) NSNumber * shopId;
@property (nonatomic, retain) NSNumber * type;
@end
@implementation JSONOrder
@synthesize shopId;
@synthesize type ;
@end

现在我正试图保存它:

JSONOrder * order = [NSEntityDescription insertNewObjectForEntityForName:@"JSONOrder" inManagedObjectContext:[[RKObjectManager sharedManager].objectStore managedObjectContext]] ;
[order setShopId:_shopId];         
[order setType:_typeId];
[[RKObjectManager sharedManager].objectStore save] ;

当我试图取回我的物体时:

NSLog(@"%@", [JSONOrder allObjects]) ;

我的ARRAY是空的,或者我有错误的对象!!

你有线索吗?

我认为你需要有:

 [[RKObjectManager sharedManager].objectStore.managedObjectContext save];

或者做一些类似的事情:

 // Save the MOC
 NSError* error;
 BOOL hasSaved = [order.managedObjectContext save:&error];
 #if DEBUG
 NSLog(@"INFO:{%s} CoreData has Saved: %@ (%d)nerror:%@ | %@ | %@", __FUNCTION__, (hasSaved) ? @"YES" : @"NO", hasSaved, error, [error userInfo],[error localizedDescription]);
 #endif

我就是这么做的;o)

感谢Herwr提供此解决方案

[item setFavourite:[NSNumber numberWithBool:YES]];
        NSError *error=nil;
        [[Article managedObjectContext] save:&error];
        if (error) {
            NSLog(@"error saving favourite item");
        }else{
            NSLog(@"save successful");
        }

对我来说很有魅力。

最新更新