【发布时间】:2019-05-24 15:14:26
【问题描述】:
我有一个登录屏幕,它转到一个标签栏,然后转换到一个导航控制器。我需要将用户名传递给导航控制器的第一个视图控制器。就这样:
登录屏幕 -> TabBarController -> NavigationController -> CustomerMainViewController
我一直在处理堆栈溢出并实现了以下代码,这似乎是共识:
//From my login View Controller
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let tabVC = segue.destination as! UITabBarController
let navVC = tabVC.viewControllers!.first as! UINavigationController
let destVC = navVC.viewControllers.first as! CustomerMainViewController
destVC.tempName = self.emailTextField.text!
}
@IBAction func loginButtonPresssed(_ sender: Any) {
self.performSegue(withIdentifier: "GoToTabBar", sender: self)
}
//From my View Controller (CustomerMainView Controller)
override func viewDidLoad() {
super.viewDidLoad()
username.text = self.tempName
}
我希望我的视图控制器上的用户名字段被填充,但它是空的。
【问题讨论】:
标签: swift uinavigationcontroller uitabbarcontroller