У меня есть страница входа, которая получает имя пользователя от пользователя, эта страница входа подключена к UITabbarController
, который содержит вкладки (viewControllers). После нажатия на кнопку входа в систему, я передаю имя пользователя в первый вид на вкладках через prepare segue
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "profile" {
let barViewControllers = segue.destination as! UITabBarController
let navProfile = barViewControllers.viewControllers![0] as! UINavigationController
if let profile = navProfile.viewControllers[0] as? ProfilePage {
profile.username = self.usernameInput.text!.replacingOccurrences(of: " ", with: "")
}
}
}
Проблема в том, что это имя пользователя также должно переходить на вторые вкладки. Я пытался сделать это в prepare segue
на первой вкладке
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "profile" {
let barViewControllers = segue.destination as! UITabBarController
let navProfile = barViewControllers.viewControllers![0] as! UINavigationController
if let profile = navProfile.viewControllers[0] as? ProfilePage {
profile.username = self.usernameInput.text!.replacingOccurrences(of: " ", with: "")
}
let navTimeline = barViewControllers.viewControllers![1] as! UINavigationController
if let timeline = navTimeline.viewControllers[1] as? TimelinePage {
timeline.username = self.usernameInput.text!.replacingOccurrences(of: " ", with: "")
}
}
}
Но приложение вылетает с этой ошибкой
index 1 beyond bounds [0 .. 0]
Может кто-нибудь помочь мне, как передать имя пользователя на второйа также вкладка?