将数据传递给两个标签栏视图控制器
Pass data to two tab bar view controllers
我正在尝试将一些数据从我的第一个视图控制器传递到另外两个视图控制器,但是由于它们在选项卡栏中,我一直在努力尝试通过 prepareForSegue
来完成此操作。这是我目前的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "showRides") {
var tabController = segue.destinationViewController as! UITabBarController
var navController = tabController.viewControllers![0] as! UINavigationController
var destController = navController.viewControllers[0] as! InitalViewController
destController.parkPassed = parkSelected
var tabController1 = segue.destinationViewController as! UITabBarController
var navController1 = tabController.viewControllers![1] as! UINavigationController
var destController1 = navController.viewControllers[1] as! MapViewController
destController1.parkPassed = parkSelected
}
}
我也尝试过将数据从第一个视图控制器传递到第一个选项卡,然后传递到第二个选项卡,但我也没有成功。
有人有什么建议吗?当前代码 returns 错误:fatal error: Array index out of range
在倒数第二行。
谢谢!
想通了。必须将我的代码更改为:
var tabController1 = segue.destinationViewController as! UITabBarController
var navController1 = tabController1.viewControllers![1] as! UINavigationController
var destController1 = navController1.viewControllers[0] as! MapViewController
destController1.parkPassed = parkSelected
我愚蠢地忘记了更改一些变量名,而且我还不得不更改导航控制器的视图控制器的索引。
我正在尝试将一些数据从我的第一个视图控制器传递到另外两个视图控制器,但是由于它们在选项卡栏中,我一直在努力尝试通过 prepareForSegue
来完成此操作。这是我目前的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "showRides") {
var tabController = segue.destinationViewController as! UITabBarController
var navController = tabController.viewControllers![0] as! UINavigationController
var destController = navController.viewControllers[0] as! InitalViewController
destController.parkPassed = parkSelected
var tabController1 = segue.destinationViewController as! UITabBarController
var navController1 = tabController.viewControllers![1] as! UINavigationController
var destController1 = navController.viewControllers[1] as! MapViewController
destController1.parkPassed = parkSelected
}
}
我也尝试过将数据从第一个视图控制器传递到第一个选项卡,然后传递到第二个选项卡,但我也没有成功。
有人有什么建议吗?当前代码 returns 错误:fatal error: Array index out of range
在倒数第二行。
谢谢!
想通了。必须将我的代码更改为:
var tabController1 = segue.destinationViewController as! UITabBarController
var navController1 = tabController1.viewControllers![1] as! UINavigationController
var destController1 = navController1.viewControllers[0] as! MapViewController
destController1.parkPassed = parkSelected
我愚蠢地忘记了更改一些变量名,而且我还不得不更改导航控制器的视图控制器的索引。