我正在尝试使用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是空的,或者我有错误的对象!!
你有什么线索吗?
答案 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");
}
对我来说就像是一种魅力。