2017-08-22 4 views
-1

私はアレイ内に巨大な画像スタックを持つView Controllerを持っています。私がView Controllerに連れて行くボタンを押すと、ロードに約8-15秒かかります。今、私は、アプリが起動するたびにViewコントローラをバックグラウンドで読み込むように読み込み画面を作りたいと思っています。Swift - バックグラウンドでViewControllerをロードする

どうすればいいですか?

ありがとうございます!

+0

次の[答え]を試みることができる(https://stackoverflow.com/a/42189146/4056108) – chirag90

答えて

2

最終的なユーザーエクスペリエンスに関する最善の方法は、アクティビティインジケータを使用することです。

通常はViewControllerに追加し、迅速なviewControllerファイルに関連付ける必要があります。

ローディングが開始されると、アクティビティインジケータが「スピン」し始める必要があります。このようにして、ユーザーは「何かがしばらく読み込まれる」ことを理解します。

読み込みが完了したら、を隠したにする必要があります。あなたがイメージがビューコントローラ自体のロード後を追加されることを確認したい場合は

また、viewWillAppear方法を介してそれらをロードし、NOT のviewDidLoad

1

のviewDidLoad(にイメージをロードしていない)画像

DispatchQueue.main.async { 

} 
2

これは、バックグラウンドキューやメインキュー操作のためにあなたを助けることを願っをロードする

使用この!!!!

func bgQueue(queueName: String, completion codeBlock: @escaping ((Bool) -> Void)) { 

     DispatchQueue.global(qos: .background).async { 
      codeBlock(true) 
     } 
    } 

func mainQueue(codeBlock: @escaping ((Bool) -> Void)){ 
     DispatchQueue.main.async { 
      codeBlock(true) 
     } 
    } 
+1

方法は、スウィフトで小文字で開始する必要があります。ちなみに – Moritz

+0

は、メソッドが小文字で始まるのはなぜですか? –

+1

男たちは、強制的ではなく、そのコーディング基準!!!!またはそれはあなたにコンパイルやランタイムエラーの任意の種類を与えるつもりはありません... –

関連する問題