将数据传递给两个标签栏视图控制器

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

我愚蠢地忘记了更改一些变量名,而且我还不得不更改导航控制器的视图控制器的索引。