我已经搜查,并没有发现太多有关创建备份和还原数据库文件,所以我希望有人比我聪明可以点我在正确的方向。Coredata:备份和还原数据库文件
这是在OSX上。
我成功创建了一个备份,恢复一直是主要问题。不过,我几乎在那里,我已成功恢复数据库文件,但我需要重新启动应用程序才能工作。
恢复方法:
[_managedObjectContext reset];
NSPersistentStore *currentStore = self.persistentStoreCoordinator.persistentStores.lastObject;
[_persistentStoreCoordinator removePersistentStore:currentStore error:&error];
NSFileManager *filemanager;
filemanager = [NSFileManager defaultManager];
if ([filemanager fileExistsAtPath:[url path]]) {
//If the file exist, remove file
if ([filemanager removeItemAtURL:url error:&error]) {}
}
[_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:urlbackup options:nil error:&error];
currentStore = self.persistentStoreCoordinator.persistentStores.lastObject;
[_persistentStoreCoordinator migratePersistentStore:currentStore toURL:url options:options withType:NSSQLiteStoreType error:&error];
这一切的作品,IF我重新启动应用程序。如何在不重新启动应用程序的情况下使其工作?看来我需要重新加载所有数据并刷新视图。
我已经试过以下后没有成功:
[arrayController rearrangeObjects];
[tableView reloadData];
再次,如果我重新启动应用程序一切正常时,备份文件还原。任何指针将不胜感激。
@ littleDrummerBoy:你有没有得到任何解决方案?我有同样的情况。 – Bucket
@Bucket:对于迟到的评论,最近一直在旅游很多。有没有办法在这里发送私人信息?让我知道你是否仍然需要帮助。 – littleDrummerBoy