2017-05-27 129 views
-1

我有一个问题,我写了一个应用程序,用户可以在其中登录并注册名称,电子邮件,位置和地址。我怎样才能让用户在表格中或作为标签仅显示该用户的用户信息?Firebase Swift 3查看用户数据库

有谁知道一个很好的教程?

Firebase Database

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 
    } 
} 
+0

这个问题有点不清楚。当用户登录时,是否要从Firebase捕获其*节点并将其显示给该用户?或者当用户登录时,是否要将数据显示给其他用户?根据使用情况,答案会非常不同。哦,请将您的Firebase结构包含为TEXT片段,请勿包含图片或链接。如果我们需要在答案中使用该结构,我们将不得不重新键入它,并且图像不可搜索。您可以通过Firebase控制台获取Firebase结构 - >右侧的三个点 - >导出JSON。 – Jay

回答

0

如果你的问题是,以显示自己的用户信息我会建议使用火力地堡认证。

这是一些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) 
}) 

我希望你考虑这个答案,因为火力地堡认证了奇迹对我来说,是非常容易使用。它将管理用户的所有困难部分都拿出来,并加速整个过程。