当我的应用程序在启动画面下启动时,如何运行代码?

时间:2014-05-16 00:36:36

标签: ios objective-c splash

我试图在我的iOS应用启动时能够在后台运行代码。我必须调用一些API,可能需要几秒钟来获取应用程序第一页的信息,我想让它看起来无缝,所以我希望在启动屏幕打开时进行所有API加载。

我该如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果你在项目常规属性中设置了launchImage,那么在调用主viewController之前你在appDelegate didFinishLaunchingWithOptions方法中拥有的任何东西都将在“background”中完成,同时看到launchImage或splashScreen

enter image description here

你可以做的另一件事是让appDelegate加载一个初始的viewController,它只有一个占据整个屏幕的UIImageView,或者只是主UIView的背景图像。在此视图控制器中,您可以进行所需的任何计算,并保存所需的数据,并在完成所有这些操作后,您可以加载要加载的主视图控制器。 一个小的伪代码可能是这样的:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
  //do calculations
    dispatch_sync(dispatch_get_main_queue(), ^{
      //load main view controller
    });
});