你好,我想使用uiviewController上的按钮选择带有一些数据的标签栏项目,我可以使用此按钮移动到另一个标签栏,但是在这种方法下我无法移动数据
let second = self.tabBarController?.viewControllers?[2] as? MyAccountViewController
second?.testValue = "Test Value"
self.tabBarController?.selectedIndex = 2
崩溃报告
无法将类型为'UINavigationController'(0x2496e5280)的值转换为 'xxxxxx.MyAccountViewController'(0x1016cd4c8)。 2019-03-09 08:07:34.281652 + 0500 xxxxx [390:17926]无法转换类型的值 'UINavigationController'(0x2496e5280)至 'xxxxxx.MyAccountViewController'(0x1016cd4c8)。
答案 0 :(得分:0)
您需要验证其为vc
let nav = self.tabBarController!.viewControllers![2] as! UINavigationController
let second = nav.viewControllers!.first as! MyAccountViewController
second.testValue = "Test Value"
self.tabBarController?.selectedIndex = 2
如果目标vc处于非活动状态(第一次打开),则在viewDidLoad
内打印该值(如果处于活动状态),则在viewWillAppear
/ viewDidAppear
内打印该值