【问题标题】:How do I run code while my app is starting up underneath the splash screen? [duplicate]当我的应用程序在启动画面下启动时,如何运行代码? [复制]
【发布时间】:2014-05-16 11:04:00
【问题描述】:

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

我怎样才能做到这一点?

谢谢!

【问题讨论】:

  • 只需将代码放在您的 App Delegate 的 didFinishLaunchingWithOptions 方法中即可。

标签: ios objective-c splash-screen


【解决方案1】:

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

你可以做的另一件事是让 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
    });
});

【讨论】:

    猜你喜欢
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多