如何在swift中将数据从一个tabbar传递到另一个tabbar?
问题描述:
我想从一个的TabBar控制器传递到另一个数据,如何在swift中将数据从一个tabbar传递到另一个tabbar?
我切换使用tabBarController?.selectedIndex = 0
我试过很多选项,但无法将数据传递到另一个选项卡的TabBar,有没有简单的解决办法像我们传递数据使用导航控制器?
答
选项卡通常是一些自定义的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
...
}
您可以随时使用NSNotificationCenter将数据发送到任何地方。你有没有考虑使用它? –
是的,通知和nsuserdefault是方式,但认为应该有另一种方式来做到这一点 – sss
顺便说一句,你如何通过导航控制器传递数据? –