停止AppDelegate在调用另一个方法时加载ViewController

时间:2013-03-25 12:25:15

标签: iphone ios appdelegate

我将应用程序的存储方法从简单的写入文件更新为CoreData。为了保存以前版本的所有数据,我编写了一个迁移方法,应用程序委托调用

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self checkForPreCoreDataFilesAndMigrate];
    //normal launching 
}

checkForPreCoreDataFilesAndMigrate方法迁移CoreData数据库中以前版本的所有文件。

我现在的问题是,我想阻止appdelegate做其他事情,例如使用空数据库加载Main ViewController(这基本上可以工作但是会影响迁移过程)。

我怎样才能做到这一点?是否有解决方案,我仍然可以显示UIAlterView UIProgressView与迁移方法设置的{{1}}。

1 个答案:

答案 0 :(得分:1)

你可以使用以下方法

[self performSelector:@selector(checkForPreCoreDataFilesAndMigrate) onThread:[NSThread mainThread] withObject:nil waitUntilDone:YES];