2016-05-09 11 views
1

私はサーバーから最初の画面にデータをロードする必要があるSwiftでアプリケーションを作成しています。私は最初の画面にローディングを表示したくありません。私は最初の画面をLaunchScreenまたはAppDelegateのいずれかに表示する前にそれをしたいと思います。私はAppDelegateのアプリケーション機能でAPIと呼ばれるsuccessuffyを持っていますが、ネットワークコールを完了していない場合でも最初の画面に行くので、ネットワークコールがSwiftで完了するまで、最初の画面に移動するのをどのように遅らせることができます。SwiftのAppDelegateのネットワークコール

+0

「didFinishLaunchingWithOptions」でアプリケーションを保持することをお勧めします。特定の時間内にアプリケーションがそのメソッドを終了しないと(私は10秒と思う)Appleがアプリケーションを終了するためです。 – dudeman

答えて

3

最初の画面をスプラッシュ画面と同じにするだけで、そこにAPI呼び出しを追加して終了したら、次の画面に進むことができます。

詳細については、AppDelegateでコードを表示して、より正確な答えを示してください。

+0

私はこれをやろうとしましたが、LaunchScreenを削除する必要があります。もし私がそれをしているのであれば、画面の上部と下部に白い画面または黒いスペースが表示されています。迅速にLaucher Screenを取り除く方法を教えてください。 –

+0

LaunScreenを保管することができます。その後、LaunchScreenと同じイメージを持つ単純なviewControllerを作成し、そこにAPI呼び出しを含めます。 新しいプロジェクトにはLaunchScreenとViewControllerがあります。 LaunchScreenから画像を追加してView ControllerにAPIコールを追加します。リクエストが終了したら、ViewController2を開きます –

+0

これはスプラッシュ画面を2回表示します。 1はlauchscreenから、2番目はView Controllerから取得します。 –

関連する問題