2012-10-30 58 views
1

所以在我的iPhone应用程序在应用程序的开始我需要加载一些外部文件,我的问题是我想加载它们作为应用程序启动,但如果我在目标c中使用viewDidLoad它会先加载我的文件,然后显示屏幕。我能做些什么让屏幕先出现然后运行我所有的功能?如何在iPhone程序启动时运行一个函数?

+0

请问您能更具体一点吗?你在谈论发射屏幕吗?或在启动屏幕后显示一些图像,然后加载您的材料? – Siriss

回答

1

Default.png总是先出现;当它显示你可以开始其他任务。

你可以在didFinishLaunchingWithOptions中加载文件吗?

你不应该依赖于你的用户很高兴盯着Default.png很长时间,所以建议的过程是让它显示,花最少的时间做任何你需要做的文件操作 - 希望做的在后台线程中繁重的工作 - 然后获得一些实际的UI并尽快启动应用程序。

如果你正在做一些网络(外部文件),你可以从像AFNetworking这样的库中获得所有的帮助,它可以让你启动一个操作并指定一个代码块来接收数据,让你继续使用UI。

3

在后台的东西,如运行它们:

dispatch_async(dispatch_get_main_queue(), ^{ 
    // tasks 
}); 

如果任务不需要到主队列中运行,然后运行它们放在单独的队列要好得多,因为他们赢了不会阻止用户界面更新:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    // tasks 
}); 
相关问题