2012-01-18 90 views
0

我試圖用Core Data和Restkit存儲本地對象(未映射),但它不起作用。在iPhone IOS上使用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]) ; 

我的數組是空的,或者我有錯誤的對象!

你有什麼線索嗎?

+0

下面的答案是否適用?如果不是的話,你能否提供它在嘗試保存時看到的錯誤消息的詳細信息(您需要使用我包含的_error_代碼部分來查看保存錯誤) – Herwr 2012-01-24 00:13:21

+0

是的!非常感謝你的幫助 ! :)我現在有另一個問題!我會在下面描述:) – Julien 2012-01-27 14:25:53

+0

好的!我會去做 ! – Julien 2012-01-30 12:22:13

回答

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

感謝Herwr對於此解決方案

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

     NSError *error=nil; 

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

對我來說就像是一種魅力。

相關問題