Ho colpito un muro di mattoni cercando di configurare la migrazione leggera di Core Data usando MagicalRecord. Ho esaminato tutti i post su questo argomento, utilizzando Google e SO. Comprendo come funziona il persistenteStoreCoordinatore quali sono le impostazioni che sto cercando di fare.Come si imposta la migrazione leggera di Core Data con MagicalRecord?
Ecco il mio codice:
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;
}
sto ottenendo i seguenti errori, WHI ch capisco; quello che non so è dove sono questi oggetti (ho guardato nella mia app, e trovato nulla):
No @interface visibile per 'AppDelegate' dichiara il selettore 'applicationDocumentsDirectory' e
No @interface visibile per 'AppDelegate' dichiara il selettore 'managedObjectModel'
ho già creato i negozi:
La maggior parte, se non tutto il codice che ho visto è simile; Non so se MagicalRecord gestisca questo per me o no perché non riesco a trovare alcun documento che indichi come farlo usando MR. La mia domanda è: cosa devo fare per farlo funzionare?
Nel tuo ultimo screenshot, il nuovo modello non è ancora stato reso attivo, quindi il vecchio modello sarà ancora utilizzato. –