2009-08-16 2 views

答えて

3

ビューを複数回読み込むことができます(アンロードすることもできますので、配列をリロードすることもできます)ので、viewDidLoadと呼びます。

また、ほとんどの場合、iPhoneにデータを遅延ロードすることをお勧めします。 viewDidLoadにデータをロードすると、initよりもずっとレイジーです。これは、initを使用するとパフォーマンスが向上する可能性がありますが、View Controllerをすぐには使用しない場合があります。

+0

これは意味がありますが、viewDidUnloadが呼び出されたときに教えてください。私は、ビューがアンロードされたときに、いつ自動的にそれが起こるのか知っていますか?手動でどのようにアンロードできますか? – mk12

+1

ビューはメモリ警告を受信するとUIViewControllerによってアンロードされ、その時点でviewDidUnloadが呼び出されます。 viewDidLoadで配列を作成する場合は、必ずviewDidUnloadで配列を破棄する必要があります。また、ビューが表示されていない場合はアクセスされないようにする必要があります(表示されるとビューがアンロードされることはありません)。ビューが表示されていなくてもアクセスする必要がある場合(たとえば、更新する場合)、initで作成することをお勧めします。 Appleは、簡単に再作成できるオブジェクトに対してのみviewDidLoadを使用することを推奨しています。 –

+0

initで作成する代わりに、配列をプロパティとして定義し、初めてアクセスするときに遅延配列を作成することもできます。最終結果はinitメソッドと同じですが、配列にアクセスしないとメモリを使用しません。 –

2

これは、配列の格納先とその初期化の方法によって異なります。 viewDidLoadは複数回呼び出すことができます(特に、メモリ不足の警告がプログラムに送信された後、非アクティブなビューコントローラはビ​​ューをアンロードし、アクティブになったときに再び読み込みます)。initは、オブジェクトの

1

initでこれを行うケースの1つは、viewWillAppearの後にviewDidLoadを呼び出すことができるということです。その時点で配列が使用されている場合は、初期化をinitに行う必要があります。

一般に、viewDidLoadは、複数回呼び出すことができることを念頭に置いている限り、かなり良い場所です。

関連する問題