Tab Bar Controller
やNavigation Controller
を使って、画面遷移を実装する。
図のようにTab Bar Controller、Navigation Controller、View Controllerと3つの構成の場合を考える。
この構成の時に、データをView Controller間でやり取りするにはどうすれば良いのか調べてみた。
結論としては、以下の通り。
- Tab Bar ControllerでNavigation Controllerを指定して取り出す
- Navigation ControllerでView Controllerを指定する
- View Controllerのプロパティに値を渡す
コードにすると以下の通りだ。
let navController = self.tabBarController?.viewControllers![1] as! UINavigationController let vc = navController.topViewController as! ViewController vc.foodChoise = categoryList[row]
self.tabBarController?.viewControllers![1]
で配列の添え字を指定する。
今回は3つのTabからなるので、0-2の範囲で指定する。
以上、記事にするとシンプルだけどこれを調べるのに時間がかかってしまったのでまとめておきたいと思った次第です。