我已經搜查,並沒有發現太多有關創建備份和還原數據庫文件,所以我希望有人比我聰明可以點我在正確的方向。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