2011-01-14 13 views
2

initとloadViewメソッドが呼び出された時刻を教えてください。 私の知る限りでは、initメソッドは、ビューが初期化され、loadViewが呼び出されると、いつでもビューがロードされます。したがって、ビュースタック内の新しいビューをプッシュしてポップアップしていても、ポップアップビューのloadViewも呼び出されるはずです。しかし、私がデバッグモードで自分のコードを実行しているとき、同じスクリーンを何回ロードしているかにかかわらず、これらのメソッドの両方が一度呼び出されています。私が何かを見逃している場合は、私に知らせてください。loadViewとinitメソッド

答えて

5

あなたはいくつかの時点で正しいです:) ViewControllerオブジェクトがインスタンス化されると、initメソッドが呼び出されています。 viewControllerがビューをメモリにロードするたびに、loadViewメソッドが呼び出されます。これは、ビューが最初に表示される前、または2番目、3番目、...の時間に表示する必要がありますが、前にメモリから削除されたときに発生します。 (アプリがメモリ不足の場合に発生する可能性があります) ビューが表示されるたびにコードを実行するには、viewWillAppear/viewWillDisappear/viewDidAppear/viewDidDisAppearメソッドを確認する必要があります。

+0

優れています。ありがとうPaul! – Abhinav

5

loadViewは、ビューコントローラのviewプロパティにアクセスするときに呼び出され、nilです。

ビューがアンロードされた場合(メモリ目的でviewDidUnloadが呼び出された場合)、loadViewが再度呼び出されます。そうでなければ呼び出されません。

viewWillAppear:またはviewDidAppear:です。

関連する問題