Ios 显示从Firebase数据库检索的数据

Ios 显示从Firebase数据库检索的数据,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我在Firebase中创建了一个数据库 结构如下: M_Accounts atest email: "atest@test.com" password: "pass1" btest email: "btest@test.com" password: "pass2" 我希望检索特定用户的信息(例如“atest”)并在XCode 8.1-Swift中的单独标签上显示信息 例如,我想在Label1.text上显示电子邮件,在Label2.t

我在Firebase中创建了一个数据库

结构如下:

M_Accounts
   atest
      email: "atest@test.com"
      password: "pass1"
   btest
      email: "btest@test.com"
      password: "pass2"
我希望检索特定用户的信息(例如“atest”)并在XCode 8.1-Swift中的单独标签上显示信息

例如,我想在Label1.text上显示电子邮件,在Label2.text上显示密码

还有什么我可以做的吗?我试过了,但没有成功

下面是我的代码(我是XCode新手,自学成才)

用户名变量是从另一个表单传递的

    var username = ""

    //reference to database
    self.dbReference = FIRDatabase.database().reference()

    //reference to users in database
    self.usersReference = dbReference.child("M_Accounts").child(username)//.queryOrdered(byChild: "username")

    //data comes into a snapshot object
    self.usersReference.observe(.childAdded, with: { (snapshot) in


        let snapshotValue = snapshot.value as! Dictionary<String, String>

        //use the keys to get the values

        let email = snapshotValue["email"]
        let password = snapshotValue["password"]

        self.label1.text = email!
        self.label2.text = password!
var username=“”
//对数据库的引用
self.dbReference=FIRDatabase.database().reference()
//对数据库中用户的引用
self.usersReference=dbReference.child(“M_账户”).child(用户名)/.queryOrdered(byChild:“用户名”)
//数据进入快照对象
self.usersReference.observe(.childAdded,其中:{(快照)在
让snapshotValue=snapshot.value为!字典
//使用键获取值
让电子邮件=快照值[“电子邮件”]
让密码=快照值[“密码”]
self.label1.text=电子邮件!
self.label2.text=密码!

在observe闭包内-如果添加:print(snapshot)它是否打印atest节点?此外,您可能希望对字典使用此格式:let snapshotValueDictionary=snapshot?.value as![String:AnyObject]该表单在我运行时崩溃(因为代码在ViewDidLoad中)由于未捕获的异常“InvalidPathValidation”,我收到此错误
终止应用程序,原因:'(子项:)必须是非空字符串,并且不包含“.”#“$”[”或“]'”***第一次抛出调用堆栈:
@JayYour code“works”,因此问题是您的用户名-您发布的代码中有一个空字符串(username=”“)因此,它需要包含一个有效的键(父节点)名称。@如果是这种情况,我如何使它们基于当前登录的用户显示特定的用户信息,有什么建议吗?因为从以前的表单传递不会起作用。