所以在我的 iPhone 应用程序开始时我需要加载几个外部文件,我的问题是我想在应用程序启动时加载它们,但是如果我在目标 c 中使用 viewDidLoad 它会首先加载我的文件和然后显示屏幕。我该怎么做才能让屏幕先出现然后运行我的所有功能?
问问题
66 次
2 回答
3
在后台运行它们,例如:
dispatch_async(dispatch_get_main_queue(), ^{
// tasks
});
如果任务不需要在主队列上运行,那么在单独的队列上运行它们会更好,因为它们不会阻止用户界面更新:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// tasks
});
于 2012-10-30T21:16:53.063 回答
1
Default.png 总是首先出现;当它显示您可以开始其他任务时。
你能在 didFinishLaunchingWithOptions 中加载文件吗?
您不应该依赖您的用户乐于长时间盯着 Default.png,因此建议的过程是让它显示,花费最少的时间来执行您需要执行的任何文件操作 - 希望在后台线程 - 然后启动一些实际的 UI 并尽快启动应用程序。
如果您正在使用网络(外部文件)做某事,您可能会从像 AFNetworking 这样的库中获得所需的所有帮助,它可以让您启动操作并指定在收到数据时要执行的代码块,让您继续使用 UI。
于 2012-10-30T21:16:51.053 回答