viewDidLoad()とLoadView()の違いは何ですか?それらはどのように異なっていますか?
XIBを使用せずにアプリケーションを開発する場合、どちらが優れていますか?
ありがとう 。
viewDidLoad()とLoadView()の違いは何ですか?それらはどのように異なっていますか?
XIBを使用せずにアプリケーションを開発する場合、どちらが優れていますか?
ありがとう 。
ViewDidLoad
ビューの読み込みが完了するとloadView
呼び出され、読み込みが開始されると呼び出されます。
また、新しいプロジェクトを作成すると、これらのメソッドに関するコメントが表示され、どの関数をいつ使用する必要があるかが明確に示されます
これを見る
/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
これらのコメントは明確で理解しやすいです。
IB を使用して UI を構築する場合は、IB 後のすべての初期化を viewDidLoad で行う必要があります。nib を使用してコントローラーを初期化する場合、クラスは loadView をまったく呼び出しません。
コードでコントローラを初期化すると、viewController は最初に loadView を呼び出し、次に viewDidLoad を呼び出します。好みに応じて、loadView または viewDidLoad ですべての初期化を行うことができます。
ただし、loadView を使用する場合は、self.view を読み取る前に必ずビュー プロパティを設定してください。そうしないと、無限ループに陥ってクラッシュします。
stroyboard または xib ファイルからビューを初期化する場合は、このメソッドをオーバーライドしたり、内部で [super loadView] を呼び出したりしないでください。メソッド内で [super loadView] を呼び出す場合は、このメソッドをオーバーライドせずに、次のコードを viewDidLoad メソッドに追加してください。
ビューをプログラムで初期化する場合は、[super loadView] を決して呼び出さないでください。rootView を self.view プロパティに割り当てる必要があります。そうしないと、完全なクラッシュが発生する可能性があります。
View Controller は、関連付けられた nib がない場合、関連付けられた nib からビューをロードし、自動的に loadView() メソッドを呼び出してビューを埋めます。その場合、loadView() メソッドを実装する必要があります。デフォルトでは nil を返します
ビューがメモリに読み込まれると、ここで viewDidLoad() メソッドが呼び出され、要件に従ってカスタム初期化を行うことができます。
当たり前じゃないですか?
viewDidLoad
が呼び出されます... ビューの読み込みが終了したとき。
loadView
ビューが読み込まれるように指示されたときに呼び出されます。
どちらが良くも悪くもありません。それはすべてあなたのデザイン次第です。
幸運を :)
メソッドを使用せずにアプリケーションを開発している場合はxib
LoadView()
メソッドが呼び出され、xib がある場合はViewDidLoad
メソッドが呼び出されます
そのため、LoadView メソッドを使用することをお勧めします。