Wie richte ich die Core-Data-leichte migration mit MagicalRecord?

Habe ich gegen eine Wand geprallt versuchen, setup-leichte migration von Core Data mit MagicalRecord. Ich habe mir alle Beiträge zu diesem Thema, mit Google und SO. Ich verstehe, wie die persistentStoreCoordinator funktioniert und welche Einstellungen ich versuche, auch zu tun.

Hier ist mein code:

AppDeligate.h

NSPersistentStoreCoordinator *persistentStoreCoordinator;

AppDelegate.m

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {

if (persistentStoreCoordinator != nil) {
    return persistentStoreCoordinator;
}

NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"saori.sqlite"]];

//handle db upgrade
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                         [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];

if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {

    //Handle error
}

return persistentStoreCoordinator;

}

Ich bin immer der folgende Fehler auf, die ich verstehe; was ich nicht weiß ist, wo sind diese Objekte (ich habe in meiner app, und nichts gefunden):

No visible @interface for 'AppDelegate' erklärt der Selektor 'applicationDocumentsDirectory' und

No visible @interface for 'AppDelegate' erklärt der Selektor 'managedObjectModel'

Ich habe bereits die stores:

Wie richte ich die Core-Data-leichte migration mit MagicalRecord?

Meisten, wenn nicht alle der code, den ich habe, ist ähnlich; ich weiß nicht, ob MagicalRecord übernimmt dies für mich oder nicht weil ich finde keine docs, die zeigen, wie dies zu tun mit MR. Meine Frage ist: was muss ich tun, um diese Arbeit zu machen?

  • In deinem letzten screenshot, ist das neue Modell noch nicht gemacht worden das aktive, noch das alte Modell wird immer noch verwendet werden.
InformationsquelleAutor SpokaneDude | 2013-05-30
Schreibe einen Kommentar