我有一个问题,我已经编写了一个应用程序,用户可以登录并注册,包括姓名,电子邮件,位置和地址。如何让用户只在表格中或作为标签显示该用户的用户信息?
有谁知道一个好的教程?
import UIKit
import Firebase
import FirebaseStorage
class PersoenlicheDatenView: UIViewController, UITableViewDataSource, UITableViewDelegate {
var ref: FIRDatabaseReference?
var myList:[String] = []
var handle:FIRDatabaseHandle = 0
@IBOutlet weak var myTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let ref = FIRDatabase.database().reference().child("users").queryOrdered(byChild: "email").queryEqual(toValue : "test@test.de")
ref.observe(.value, with:{ (snapshot: FIRDataSnapshot) in
for snap in snapshot.children {
print((snap as! FIRDataSnapshot).key)
self.myTableView.reloadData()
}
})
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myList.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: "Cell")
cell.textLabel?.text = myList[indexPath.row]
return cell
}
}
答案 0 :(得分:0)
如果您的问题是显示用户自己的信息,我建议您使用Firebase身份验证。
以下是一些documentation。
Firebase身份验证为您提供了一种简单的方法来登录用户,并通过他们的UID存储他们的帐户(它还允许您登录和注销用户)。因此,如果您已实施Firebase身份验证,则可以使用此代码。
let userId = (FIRAuth.auth()?.currentUser?.uid)!
ref?.child("users").child(userId).observeSingleEvent(of: .value, with: { (snapshot) in
print(snapshot.childSnapshot(forPath: "name").value as! String)
print(snapshot.childSnapshot(forPath: "any place you would like to query from").value as! String)
})
我希望您考虑这个答案,因为Firebase身份验证为我创造了奇迹并且非常容易使用。它消除了管理用户的所有困难部分,并加快了整个过程。