我正在尝试将数据从一个tabBarController传递到第二个tabBarController,但我收到错误,我尝试了很多方法,但数据没有传递
无论如何是他们在标签之间传递数据吗?
我正在尝试使用此代码,但我收到错误"无法将类型' UINavigationController的值转换为CategoriesViewController"
enter code here
let barViewControllers = self.tabBarController?.viewControllers
let svc = barViewControllers![1] as! CategoriesViewController
svc.categoriesData = self.categoryProductsDict //shared model
答案 0 :(得分:3)
let svc = (barViewControllers![1] as! UINavigationController).viewControllers[0]
我相信所有tab viewControllers都有嵌入式导航控制器。因此,当您从选项卡viewController访问viewController时,您将获得UINavigationController。要访问VC,您必须在NavigationController的索引0处获取viewControllers
更清洁更安全的代码
if let vc = (self.tabBarController.viewControllers![0] as? UINavigationController)?.viewControllers[0] as? CategoriesViewController {
//access your VC here
}