Swift
ViewContoller

ContainerViewで設定したChildViewControllerを参照する方法

More than 1 year has passed since last update.

Storyboardで、以下のようになっている時

  • 親ViewControllerはA
  • 子ViewControllerはB
  • A.containerView -(embedSegue)-> B

どうやってAからBを参照するのか。

class A: UIViewController {
  var b: B!

  override func prepare(for segue: UIStoryboardSegue) {
    if segue.identifier == "AembedB" {
      b = segue.destination as! B
    }
  }
}

ちなみに

  • A#childViewControllersからfilterしても取得はできるが筋が悪い
  • BからAを参照したいと思ったならそれは設計が悪い

Version

  • TargetIOSVersion: 10.0(latestは11)
  • XCodeVersion: 9.1