質問: Swiftのプログラム質問です。 子ViewControllerの中のViewの中にUIButtonあります。そのボタンを押すと親ViewControllerのパラメータを変更したいと思っています。 以下のように子ViewControllerを追加しています。 ``` // 子ViweController(content)を追加 self.addChildViewController(content) // 子ViewControllerのviewを自身のview階層に追加 self.view.addSubview(content.view) // 子ViewControllerに追加が終わったことを通知する content.didMoveToParentViewController(self) ``` 子Viewの中にあるButtonを押すと、親ViewControllerのパラメータ(例えばvar test:Integer)を変更したいと思っています。Segueのようにパラメータを受け渡せればと考えていますが、どのようにするのかわかりません。 ご存知の方、ご教示お願いします。
回答: 単純な方法としては、`parentViewController`で親ViewControllerを取得するものがあります。 ``` func click(sender :UIButton) { if let vc :ParentViewController = self.parentViewController as? ParentViewController { vc.test = "hogehoge" } } ``` Optional Binding構文で`as?`でキャストして型チェックが行えますので、インスタンス変数の可視性がinternal以上であれば、上記の記述で安全に受け渡しができると思います。