Firebase Swift 3查看用户数据库
问题描述:
我有一个问题,我写了一个应用程序,用户可以在其中登录并注册名称,电子邮件,位置和地址。我怎样才能让用户在表格中或作为标签仅显示该用户的用户信息?Firebase Swift 3查看用户数据库
有谁知道一个很好的教程?
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 : "[email protected]")
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
}
}
答
如果你的问题是,以显示自己的用户信息我会建议使用火力地堡认证。
这是一些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捕获其*节点并将其显示给该用户?或者当用户登录时,是否要将数据显示给其他用户?根据使用情况,答案会非常不同。哦,请将您的Firebase结构包含为TEXT片段,请勿包含图片或链接。如果我们需要在答案中使用该结构,我们将不得不重新键入它,并且图像不可搜索。您可以通过Firebase控制台获取Firebase结构 - >右侧的三个点 - >导出JSON。 – Jay