1

一連の画像全体を読み込んで画面に表示する必要があるviewControllerがありますが、それらの画像をviewDidLoadに読み込むには時間がかかり、ビューが画面に表示されるまでに遅延があります。

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

これはviewWillAppearまたはviewDidAppearの目的ですか? ユーザーの応答時間を遅らせずにコンテンツをロードするのに最適な場所は他にありますか?

よろしくお願いします!

4

3 に答える 3

0

を使用viewWillAppearして、最初の5つの画像/データを取得し、ユーザーに遅延なく表示して、残りのデータを表示することができますviewDidAppear

于 2011-03-24T19:01:51.630 に答える
0

viewDidAppear画像をロードする前にビューを表示したいだけなら、確かにそれを行うことができます。viewDidAppearこれは複数回呼び出される可能性があり、おそらく画像の画像のみをロードする必要があることに注意してください。

インターネットから画像をダウンロードしている場合(つまり、読み込み時間が長い場合)、デリゲートを介して画像を表示する準備ができていることをコントローラーに通知する画像ローダーを実装することをお勧めします。すべての画像がローカルに保存され、数秒以内に読み込まれる場合、viewDidAppearアプローチは正常に機能するはずです。

于 2011-03-24T18:57:45.063 に答える
0

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

于 2011-03-24T19:07:49.657 に答える