addChildViewControllerは実際には何をしますか?
私は、iOSの開発に初めて足を浸すことだ、と私はやって持っていた最初のものの一つが実装され、カスタムコンテナビューコントローラを -それを呼び出すことができますSideBarViewController-スワップそれいくつかの可能な子ビューコントローラのどの出ていることは、標準のTab Bar Controllerとほぼ同じです。(これはほとんどタブバーコントローラーですが、タブバーの代わりに非表示のサイドメニューがあります。) Appleのドキュメントの指示に従ってaddChildViewController、子ViewControllerをコンテナに追加するたびに呼び出します。表示されている現在の子ビューコントローラーを交換するための私のコードは、SideBarViewController次のようになります。 - (void)showViewController:(UIViewController *)newViewController { UIViewController* oldViewController = [self.childViewControllers objectAtIndex:0]; [oldViewController removeFromParentViewController]; [oldViewController.view removeFromSuperview]; newViewController.view.frame = CGRectMake( 0, 0, self.view.frame.size.width, self.view.frame.size.height ); [self addChildViewController: newViewController]; [self.view addSubview: newViewController.view]; } それから私addChildViewControllerはここで何をしているのかを理解しようとし始めました、そして私は自分が何も知らないことに気付きました。アレイに新しいものViewControllerを貼り付ける以外に.childViewControllers、何にも影響がないようです。子コントローラーのビューからストーリーボードに設定した子コントローラーへのアクションとアウトレットは、を呼び出さなくても正常に機能しaddChildViewController、他に何が影響するか想像できません。 実際、を呼び出さないようにコードを書き直した場合addChildViewController、代わりに次のようになります... - (void)showViewController:(UIViewController *)newViewController { // Get the current child from a member variable of `SideBarViewController` …