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

时间:2012-01-18 14:09:55

标签: iphone ios core-data 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是空的,或者我有错误的对象!!

你有什么线索吗?

2 个答案:

答案 0 :(得分:2)

我认为你必须要:

 [[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)

答案 1 :(得分:1)

感谢Herwr提供此解决方案

[item setFavourite:[NSNumber numberWithBool:YES]];

        NSError *error=nil;

        [[Article managedObjectContext] save:&error];
        if (error) {
            NSLog(@"error saving favourite item");
        }else{
            NSLog(@"save successful");
        }

对我来说就像是一种魅力。