我有一个有2个视图控制器的应用程序。一个是登录/注册页面,另一个是应该更改UILabel以说出用户的电子邮件的页面,但事实并非如此。我想这是因为我没有来自第一个视图控制器的数据。那么如何从第一个视图控制器获取数据?
以下是SecondViewController.swift
if let user = FIRAuth.auth()?.currentUser {
self.usernameLabel.text = user.email
print(user.email)
}
答案 0 :(得分:0)
你想抓住一个单一的事件"快照"来自Firebase DB的用户电子邮件。电子邮件存储为Firebase中的字典条目。所以这就是我的工作:
let uid = FIRAuth.auth()?.currentUser?.uid
FirDatabase.database().reference()child("YOUR_FIREBASE_CHILD_NODE").child(uid!).
observeSingleEvent(of: .value, with: { (snapshot) in
if let dictionary = snapshot.value as? [String:Any] {
self.usernameLabel.text = dictionary["email"] as? String
}