0

iOS 6 で UIViewControllers をいじっていますが、よくわからないことが 1 つあります。initWithNibName、awakeFromNib、setup などのメソッドはいつ使用しますか? また、viewDidLoad、viewWillAppear とどう違うのでしょうか?

4

1 に答える 1

3

-initWithNibName:bundle:XIBベースのUIViewControllerの標準初期化子です。これは-initWithCoder:、アーカイブ解除時に送信される残りのCocoa-Touch(いくつかの外れ値を保存)と直接対照的です。この時点では、セットアップ作業は開始されていないことに注意してください。確かに、スーパーコールはNSCoderをジャンプスタートしてXIBを「解凍」しますが、有効なビューインスタンスがないため、このメソッドで設定しようとしないでください。

-awakeFromNib:指定されたクラスが「解凍」され、NSCoderによって初期化された直後に呼び出されます。この時点では、まだ有効なビューアウトレットがないため、ビュー関連の設定(サブビューの追加、ルートビューのプロパティの設定など)は、-loadView(割り当てる必要がある唯一の方法)のいずれかで行う必要があります。 to self.view)、または-viewDidLoad

-viewWill/DidAppear関連付けられたビューがルートとして設定されたとき、またはナビゲーションスタックでその上のビューがポップオフされたときに送信される外観メソッド(必ずしも初期化のインジケーターではありません)です。

于 2013-03-09T22:34:05.087 に答える