我试图用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");
}
对我来说很有魅力。