LoginSignup
3
6

More than 3 years have passed since last update.

[Swift]ContainerView周りの値渡し

Last updated at Posted at 2020-07-31

意外とContainerViewでの値渡しに関する記事が少なかったので、書いておきます...

親ビュー -> 子ビュー

ParentViewController.swift

//値を渡したい処理で以下を実行
let child = self.children[0] as! ChildController

child.textValue = "Hoge"
ChildController.swift
var textValue: String = "Huga"

//実行後
print(textValue)    //->Hoge

子ビュー -> 親ビュー

ParentViewController.swift
var textValue: String = "huga"

//実行後
print(textValue)    //->hoge
ChildViewController.swift
//値を渡したい処理で以下を実行
let parent = self.parent as! ParentViewController

parent.textValue = "hoge"

子ビュー -> 子ビュー

FirstViewController.swift
//値を渡したい処理で以下を実行
//一度親を通す
let parent = self.parent as! ParentViewController

let second = parent.children[0] as! SecondViewController

second.textValue = "Hoge!"
SecondViewController.swift
var textValue = "Huga?"

//実行後
print(textValue)    //-> Hoge!

最後に

子ビューを制定する、

parent.swift
let child = self.children[0] as! ChildViewController

のようなコードの数字(上のは0)はなんでもいいと思います。もしエラーが出たらその都度変えてみてください。(競合するとエラーが出る)

間違えているところがあったら教えてください。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6