【发布时间】:2017-01-25 23:02:12
【问题描述】:
我正在尝试使用自定义“用户”类创建一个包含登录逻辑的 iOS 应用程序,该类包含应用程序为特定用户所需的所有信息。我的应用程序还有一个用于主界面的标签栏控制器。但是,我很难弄清楚如何将登录的“用户”从登录屏幕传递到选项卡栏控制器,然后再传递到相应的子视图控制器。请注意,我的每个选项卡还需要一个导航控制器。我目前的逻辑如下:
LoginViewController.swift:
class LoginViewController: UIViewController {
...
func displayRideFinishedSurvey(loggedInUser: User) -> Void { //user provided valid credentials, time to login
let sb = UIStoryboard(name: "SuccessfulLogin", bundle: Bundle.main)
let cc = (sb.instantiateViewController(withIdentifier: "tabBarStoryboard")) as! MyTabBarController
cc.loggedInUser = loggedInUser // will be configured here for the entire app
present(cc, animated: true, completion: nil)
}
}
MyTabBarController.swift:
import UIKit
class MyTabBarController: UITabBarController {
var loggedInUser: User?
override func viewDidLoad() {
...
}
}
MyAccountViewController.swift:
import UIKit
class MyAccountViewController: UIViewController {
var loggedInUser: User?
override func viewDidLoad() {
...
}
}
可以看到下面的屏幕截图来表示情节提要设置:(有多个选项卡,只是一个示例)
根据提供的信息:在 MyAccountViewController 中设置“loggedInUser”变量的最佳方法是什么?
【问题讨论】:
标签: ios uiviewcontroller swift3 tabbarcontroller