我正在试图制作Twitter克隆。我的后端是Firebase,我有Twitter登录。将数据传递给标签栏
我设法实现Twitter登录,但现在不知道如何将当前用户uid传递给所有标签栏视图控制器。
现在我的用户模型只有id(字符串类型)和posts(Post数组)。
class User {
// MARK: Properties
let id: String!
var posts: [Post]?
init(id: String) {
self.id = id
}
}
这是用户登录我LoginViewController一部分,现在我必须初始化
// Checks if user is already logged in and transfers them to feed
FIRAuth.auth()?.addStateDidChangeListener() { (auth, user) in
if user != nil {
self.performSegue(withIdentifier: "Login", sender: self)
}
}
我已创建自定义的控制器标签栏只有一个用户属性新的对象:用户?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Login" {
let intializeUser = User(id: (FIRAuth.auth()?.currentUser?.uid)!)
let tabBar = TabBarViewController()
tabBar.user = intializeUser
}
}
但这不起作用。有人可以解释如何优雅地存储用户uid,然后与其他所有视图控制器一起使用吗?
尝试'让tabBar = TabBarViewController()as! customTabBarController' –