我将应用程序的存储方法从简单的写入文件更新为CoreData。为了保存以前版本的所有数据,我编写了一个迁移方法,应用程序委托调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self checkForPreCoreDataFilesAndMigrate];
//normal launching
}
checkForPreCoreDataFilesAndMigrate
方法迁移CoreData数据库中以前版本的所有文件。
我现在的问题是,我想阻止appdelegate做其他事情,例如使用空数据库加载Main ViewController(这基本上可以工作但是会影响迁移过程)。
我怎样才能做到这一点?是否有解决方案,我仍然可以显示UIAlterView
UIProgressView
与迁移方法设置的{{1}}。
答案 0 :(得分:1)
你可以使用以下方法
[self performSelector:@selector(checkForPreCoreDataFilesAndMigrate) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES];