iOS RestKit kann die lokale Entität nicht in der Datenbank speichern

Ich verwende RestKit 0.20, um JSON-Daten zu analysieren und in der Datenbank zu speichern. Es gibt eine zugeordnete Entität SchoolClass, die von RestKit verwaltet wird und in Ordnung ist. Ich habe eine andere Entität namens MyClass, die die von mir ausgewählten Klassen speichert. Dieser ist nur lokal auf dem Gerät.

Hier ist der Code, den ich für die MyClass-Entität erstelle und speichere

 NSManagedObjectContext *managedObjCtx = [RKManagedObjectStore defaultStore].mainQueueManagedObjectContext;
 MyClass* course = [managedObjCtx insertNewObjectForEntityForName:@"MyClass"];

 .. set the data for course here

 NSError *executeError = nil;
 if(![managedObjCtx save:&executeError]) {
      NSLog(@"Failed to save to data store");
 }

Hier ist der Code, der den verwalteten Datenspeicher initialisiert

  // Initialize managed object store
    NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
    RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];
    objectManager.managedObjectStore = managedObjectStore;

   /**
     Complete Core Data stack initialization
     */
    [managedObjectStore createPersistentStoreCoordinator];
    NSString *storePath = [RKApplicationDataDirectory() stringByAppendingPathComponent:@"RKMainDb.sqlite"];
    NSString *seedPath = [[NSBundle mainBundle] pathForResource:@"RKSeedDatabase" ofType:@"sqlite"];
    NSError *error;
    NSPersistentStore *persistentStore = [managedObjectStore addSQLitePersistentStoreAtPath:storePath fromSeedDatabaseAtPath:seedPath withConfiguration:nil options:nil error:&error];
    NSAssert(persistentStore, @"Failed to add persistent store with error: %@", error);

    // Create the managed object contexts
    [managedObjectStore createManagedObjectContexts];

    // Configure a managed object cache to ensure we do not create duplicate objects
    managedObjectStore.managedObjectCache = [[RKInMemoryManagedObjectCache alloc] initWithManagedObjectContext:managedObjectStore.persistentStoreManagedObjectContext];

Das Speichern scheint erfolgreich zu sein und im MyClasseTableViewController konnte ich die gespeicherten MyClass-Einträge lesen. Allerdings nachdem ich die App geschlossen und neu gestartet habe. Der MyClassTableViewController ist leer, da die abgerufenen Ergebnisse leer sind. Ich habe die SQLite-Datei mit SQLiteBrowser geöffnet und die MyClass-Tabelle ist leer. Es sieht so aus, als würden die MyClass-Entitäten nur im Cache gespeichert, nicht jedoch im persistenten Speicher. Muss ich eine von RestKit bereitgestellte API aufrufen, um sie zu speichern? Ich habe versucht, das Dokument durchzulesen, konnte es aber nicht finden. Bitte helfen Sie.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage