我需要将用户名从“视图控制器”登录屏幕传递到“标签栏控制器”文本字段。
我尝试了传统的方法,并且收到了
“无法转换为UITabBarController消息类型的值。
如果我不尝试传递数据,则标签栏控制器会正常加载。
//In my View Controller, I have tried this:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "GoToTabBar" {
let custMainVC = segue.destination as! CustomerMainViewController
custMainVC.tempName = self.emailTextField.text!
}
}
//In my tab bar controller whose first View Controller has a name of CustomerMainViewController:
override func viewDidLoad() {
super.viewDidLoad()
username.text = self.tempName
}
结果是线程1,调试器指出:从私有有效用户设置读取。 无法转换类型为'UITabBarController'的值
我已经清除了所有网点和您可能建议的所有简单内容,并且正如我所说,如果我删除代码以传递正在加载的数据,那么这不是网点问题。谢谢您的帮助!
答案 0 :(得分:1)
segue目标是tabBar访问它,然后您可以获得第一个vc并传递数据
let custMainVC = segue.destination as! UITabBarController
let res = custMainVC.viewControllers!.first as! CustomerMainViewController
res.tempName = self.emailTextField.text!