Ios 如何从appdelegate中的dispatch main async返回didFinishLaunchingWithOptions中的Bool?

Ios 如何从appdelegate中的dispatch main async返回didFinishLaunchingWithOptions中的Bool?,ios,swift,Ios,Swift,我对iOS还是个新手,这里有个问题。我需要从api中获取数据,当我获取数据时,我想正确地启动我的应用程序。我在appdelegate中有这个代码 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { DispatchQueue.main.async {

我对iOS还是个新手,这里有个问题。我需要从api中获取数据,当我获取数据时,我想正确地启动我的应用程序。我在appdelegate中有这个代码

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    DispatchQueue.main.async {
        let handler = APIHandler()

        hand.getData(onSuccess: { (response) in
            return true // CANT RETURN
        }, onError: { (err) in
            //SOMETHING ELSE HERE
        })
    }
     return true // CAN RETURN
}
我只想知道如何等待我的
处理程序
完成并返回
true
,以便启动应用程序。提前谢谢



更新:谢谢大家。我决定在我的闪屏上做所有的事情。以前都没想过:这不是正确的处理方法。使用初始视图控制器处理网络操作,如图e所示。G加载数据并进入处理程序块中的下一屏幕时的活动指示器。

这不是正确的处理方法。使用初始视图控制器处理网络操作,如图e所示。G数据加载时间的活动指示器,并进入处理程序块中的下一个屏幕。

您不能这样做。取而代之的是使用一个新的viewController,它显示一个进度条或任何其他加载程序(如果它显示启动屏幕的视图更好)。数据提取完成后,转到第一个viewController,您不能这样做。取而代之的是使用一个新的viewController,它显示一个进度条或任何其他加载程序(如果它显示启动屏幕的视图更好)。数据提取完成后,转到第一个viewController

您不能在block下返回值。您想做什么?不要这样做。如果您的didFinishLaunching方法无法足够快地返回,您的应用程序将被操作系统杀死。感谢您的警告。不会执行:)无法在块下返回值。要执行什么操作?不要执行此操作。如果您的didFinishLaunching方法无法足够快地返回,您的应用程序将被操作系统杀死。感谢您的警告。不会这样做:)我有一个启动屏幕。我能在那里做吗?哦,你的意思是这样的。谢谢,我知道了,我想我有一个启动屏幕。我能在那里做吗?哦,你的意思是这样的。谢谢,我知道了,我想