Ich habe ein (proably) einfach zu beheben Problem mit meinem persistenten Coredata-Speicher.Umbenennen von persistentstore Koordinator URL
Ich habe es mit:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (persistentStoreCoordinator != nil)
{
return persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"dummyURL.sqlite"];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
mit der URL dummyURL.sqlite
ich dies am ersten Tag mit dem Projekt arbeiten, und vergessen haben, es zu benennen .. jetzt alle meine aktuellen Testgeräte (4) waren in Verwendung für mehr als 2 Monate, mit der Anwendung, das Sammeln einer Menge von Daten und speichern Sie es mit einer dummen URL Ich habe einige Forschung über die Migration von persistenten Speichern und Diese Funktion hat geschrieben:
-(void)migrate{
NSPersistentStoreCoordinator *psc = [self.dataHandler.managedObjectContext persistentStoreCoordinator];
NSURL *oldURL = [psc URLForPersistentStore:[[psc persistentStores]objectAtIndex:0]];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSURL *newURL = [[appDelegate applicationDocumentsDirectory] URLByAppendingPathComponent:@"database.sqlite"];
NSError *error = nil;
NSPersistentStore *oldStore = [psc persistentStoreForURL:oldURL];
NSPersistentStore *newStore = [psc migratePersistentStore:sqliStoreOld
toURL:newURL
options:nil
withType:NSSQLiteStoreType
error:&error];
}
FRAGE 1will this work or will i lose some data with that?
FRAGE 2afterwards will i just have to change the appendString in my persistenstore function?
danke für die schnelle Antwort. Ich bin ein bisschen zwielichtig auf dem persistentstore Konzept (deshalb habe ich es nicht mehr angefasst, nachdem ich es erstellt habe) ... Ich bin derzeit auf der Suche nach "migratePersistentStore", aber ich habe Angst, es wegen Dataloss zu versuchen ..:/ wo würde ich setzen ein Migrationscode? –