UIViewController サブクラスでは、UIPickerView のデータの NSArray を init または viewDidLoad で初期化する必要がありますが、その理由は? ありがとう。
3 に答える
viewDidLoad
ビューは複数回ロードできるため(またアンロードできるため、配列をリロードすることもできます)、私はそれを呼び出します。
また、ほとんどの場合、iPhone でデータを遅延ロードすることをお勧めします。でのデータの読み込みviewDidLoad
は よりもはるかに怠惰init
です。初期化するとパフォーマンスが向上する可能性がありますが、すぐにビュー コントローラーを使用しないでください。
それは、配列に何を格納するか、およびどのように初期化するかによって異なります。viewDidLoad
は複数回呼び出すことができます (特にメモリ不足の警告がプログラムに送信された後 - 非アクティブなビュー コントローラーはビューをアンロードし、ビュー コントローラーがアクティブまたは再び表示されるとビューをリロードします)、init
通常はその有効期間中に 1 回だけ呼び出されます。物体。
init でこれを行う 1 つのケースは、viewWillAppear の後に viewDidLoad を呼び出すことができることです。その時点で配列が存在することに依存している場合は、初期化を init に入れる必要がある場合があります。
一般的に言えば、viewDidLoad は、複数回呼び出される可能性があることを念頭に置いている限り、かなり良い場所です。