0

ビューが表示されようとしているときに、viewWillAppearが呼び出されることを理解しています。

しかし、IOSは、コントローラのビューが表示されようとしていることをどのようにして知るのでしょうか。

正確にいつ、どのように実装されますか?

たとえば、childController.viewは、ウィンドウがそのスーパー祖先の1つであることを最初にチェックしますか?ビューにはそのコントローラーへのポインターがありますか?それはどの程度正確に機能しますか?ビューが追加されるたびに、そのウィンドウがスーパー祖先であるかどうか、およびUIViewControllerのビューアウトレットであるかどうかがチェックされますか?

たとえば、childcontroller.viewを追加したが、呼び出されているビューのサブビューには追加しなかったとします。viewWillAppearが呼び出されますか?

parentControllerのviewWillAppearが自動的に呼び出されたときに、childControllerのviewWillAppearが呼び出されるように、childControllerはparentControllerの子である必要がありますか?

4

1 に答える 1

2

ビューは、- (void)loadViewメソッドを使用してコントローラーによってロードされます。このメソッドは、空白のビューまたはペン先/ストーリーボードからのビューをロードするために実装されています。ビュー階層を最初から作成する必要がある場合にのみ、オーバーライドする必要があります。

すべての魔法は、viewプロパティの値が最初に要求され、コントローラが値が であることを検出したときに発生しますnil。ライフサイクル メソッドの呼び出しはすべて、UIViewController によって処理されます。メソッドが必要な場合は、メソッドを実装する以外に何もする必要はありません。- (void)viewDidLoad1 つ覚えておいてください:メソッドが呼び出されるまで、ビューが読み込まれる保証はありません。

コントローラーがどのように機能するかについて私が学んだことはすべて、View Controller Programming Guideから得たものです。

于 2012-10-25T02:34:20.780 に答える