4

すでにこのような質問がありましたが、とにかく削除しました。

ルートビューコントローラーを備えた非常にシンプルなアプリがあり、他の2つのビューコントローラービューを切り替えます。したがって、私のルートView Controllerでは、他の2つのViewControllerのインスタンスを遅延ロードします。ツールバーのスイッチボタンを押すたびに、表示されている現在のビューコントローラ(そのビュー)がアンロードされ(nilに設定)、新しいものがロードされてサブビューに追加されます。

ビューコントローラをロードして特定の時間にアンロードするので、ゲッターにある遅延ロードコードは、実際に使用するときに正しくロードしたくないため、非常に混乱します。フリップアニメーションが実行されるように、事前にロードする必要があります。よさそうだ。したがって、ビューコントローラをロードするためにloadFirstVCメソッドとloadSecondVCメソッドを作成したいと思います。これは良い考えですか?

4

1 に答える 1

6

遅延読み込みの主な理由は、確実に発生する読み込みを延期しないことです。これは、ロードを延期するためのものであり、決して必要とされない場合があります。(データが変更されたときに強制的にリロードするのにも適していますが、ここでは問題ではありません。)

例:外部ファイルに保存されている写真など、人物に関する大量のデータがあるとします。しかし、写真はユーザーがサブビューに移動した場合にのみ表示されるので、サブビューが表示されることが確実になるまで、ファイルから写真をロードするのはなぜですか?ブーム、遅延読み込みを使用します。

特定のデータをロードしたいことがわかったときには、正確にロードしたときにそれほど重要になることはほとんどありません。

いつそれが重要ですか?まあ、それは本当に最適化の問題です。あなたが出くわしたかもしれないということわざがあります。まだの場合は、これは他のどの時期よりも良い時期です。「時期尚早の最適化は、すべての(プログラミング)悪の根源です。」

したがって、2つの質問を自問してください。

  1. データは間違いなく必要ですか?NOの場合は、遅延読み込み手法を続行します。はいの場合、質問2に進みます。

  2. データをロードするとき、それは重要ですか?[例としては、それは巨大で、スペースを空けるために何か他のものをアンロードするまでロードしたくない]いいえの場合は、機能する場所に配置します。はいの場合...戻ってきてもう一度質問し、詳細を提供してください。

...これでは元の質問に答えられないと思いますが、そもそも間違った質問をしているようです。間違えたらお詫びします。

于 2009-08-05T05:26:42.877 に答える