Мне нужно передать имя пользователя с экрана входа в View Controller в текстовое поле Tab Bar Controller.
Я попробовал традиционный метод сделать это и получаю
"Could not cast value of type UITabBarController message.
Если я не попытаюсь передать данные, контроллер панели вкладок загружается нормально.
//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»
Я очистил все свои выходы и все простые вещи, которые вы можете порекомендовать, и, как я уже сказал, если я удалю код для передачи данных, которые он загружает, так что это не проблема выхода. Спасибо за вашу помощь!!





Пунктом назначения segue является доступ к tabBar, после чего вы можете получить первый vc и передать данные.
let custMainVC = segue.destination as! UITabBarController
let res = custMainVC.viewControllers!.first as! CustomerMainViewController
res.tempName = self.emailTextField.text!