2011-03-24 22 views
1

私は一連の画像をロードして画面に表示する必要があるviewControllerを持っていますが、viewDidLoadでこれらの画像を読み込むにはしばらく時間がかかり、画面に表示されるまでに時間がかかります。viewDidLoadの後にデータをロードする

viewDidLoadの画面に表示される最初の5つの画像だけを読み込んで、viewControllerがロードされた直後に残りの画像を読み込む方法はありますか?

このviewWillAppearまたはviewDidAppearは何ですか? ユーザーの応答時間を遅らせずにコンテンツを読み込むのに最適な場所が他にありますか?

ありがとうございます!

答えて

0

イメージをロードする前にビューを表示したいのであれば、確かにviewDidAppearでそれを行うことができます。 viewDidAppearは複数回呼び出される可能性があります。おそらく画像のみをロードしたいと思っています。

インターネットから画像をダウンロードする場合(時間がかかるなど)、画像ローダーを実装して、画像がデリゲートを介して表示される準備ができていることをコントローラに知らせることができます。すべての画像がローカルに保存され、数秒以内にロードされた場合、viewDidAppearのアプローチはうまくいくはずです。

0

viewWillAppearを使用すると、最初に5つの画像/データを表示して、ユーザーと休憩データに遅れなく表示することができます(viewDidAppear)。

0

GCDまたはNSInvocationを使用してバックグラウンドスレッドに画像を読み込むことをお勧めします。 viewDidLoadでは、バックグラウンド処理を開始するだけです。イメージがバックグラウンドスレッドにロードされた後、それらをメインスレッドに渡し、必要に応じて表示します。

関連する問題