Сохранить / удалить локальный объект с помощью RestKit на iPhone IOS - PullRequest
0 голосов
/ 18 января 2012

Я пытаюсь сохранить локальные объекты (не сопоставленные) с помощью 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]) ;

Мой МАРШРУТ пуст или у меня есть дефектный объект !!

У вас есть какие-либо подсказки?

Ответы [ 2 ]

2 голосов
/ 20 января 2012

Я думаю, вам нужно иметь:

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

... вот что я делаю в любом случае; о)

1 голос
/ 12 марта 2012

спасибо Herwr за это решение

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

        NSError *error=nil;

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

работает как шарм для меня.

...