如何在swift中将数据从一个tabbar传递到另一个tabbar?

问题描述:

我想从一个的TabBar控制器传递到另一个数据,如何在swift中将数据从一个tabbar传递到另一个tabbar?

我切换使用tabBarController?.selectedIndex = 0

我试过很多选项,但无法将数据传递到另一个选项卡的TabBar,有没有简单的解决办法像我们传递数据使用导航控制器?

+0

您可以随时使用NSNotificationCenter将数据发送到任何地方。你有没有考虑使用它? –

+0

是的,通知和nsuserdefault是方式,但认为应该有另一种方式来做到这一点 – sss

+0

顺便说一句,你如何通过导航控制器传递数据? –

选项卡通常是一些自定义的UIViewControllers。从这些视图控制器(标签),您也可以访问到的UITabBarController的东西,如:

if let mainController = UIApplication.sharedApplication().delegate?.window??.rootViewController as? YourMainTabBarControllerClass { 
    mainController.someVariable = 123 
} 

在这里,你必须要小心,因为标签栏控制器可能不是RootViewController的,看到this question了解更多详情。

为了在UITabBarController中存储一些属性,您必须通过扩展UITabBarController来实现自己的类,然后在StoryBoard中设置自定义类。然后该课程将如下所示:

class YourMainTabBarControllerClass: UITabBarController { 

    // some custom variables here... 
    var someVariable = 0 

    ... 

}