如何在 firebase (swift) 中获取子节点的值,并将其显示在视图控制器的标签中

how to get the value of child nodes in firebase (swift), and display it in a label on a view controller

这是我的 firebase 结构

用户:

简单登录1:

我正在尝试获取当前登录用户的信息并将其显示在视图控制器中的标签上。

我在加载的视图中编写了以下代码:

override func viewDidLoad() {
    super.viewDidLoad()

    ref.observeSingleEventOfType(.ChildAdded, withBlock: { snapshot in

    println(snapshot.value["users\(self.ref.authData.uid)/age"] as? String)

    })

但是当我 运行 我的应用程序它在 console.what 代码行中打印 "nil" 我应该写代码来获取子节点的信息吗?一旦我得到它,我就可以很容易地根据它设置我的标签。请帮助我,我是 swift 和 firebase 的新手。

更多

这是我创建 Ref 的方式:

var ref = Firebase(url: "https://chatty93.firebaseio.com/")

var userId = authData.uid

let newUser = [                       
  "name": self.Name.text,
  "location" : "",
  "age"      : "",
]

self.ref.childByAppendingPath("users")
    .childByAppendingPath(authData.uid)
    .setValue(newUser) 

名称由该视图控制器上的登录用户提供,年龄和位置由另一个视图控制器上的登录用户提供。这是我在另一个视图控制器上编写的代码:

var age: Void  = ref.childByAppendingPath("users/\(ref.authData.uid)/age").setValue(AgeTextField.text)
var location: Void  = ref.childByAppendingPath("users/\(ref.authData.uid)/location").setValue(LocationTextField.text)
var About : Void = ref.childByAppendingPath("users/\(ref.authData.uid)/about").setValue(AboutTextField.text)

现在在另一个视图控制器上,我只想从 firebase 获取这个年龄位置和名称并显示在标签上,但我不知道该怎么做。我尝试了单一类型的观察事件,但是它给了我零..请帮助我!谢谢:)

尝试

ref.childByAppendingPath("users")
.childByAppendingPath(authData.uid)
.childByAppendingPath("age")
.observeSingleEventOfType(.ChildAdded, withBlock: { snapshot in

        println(snapshot.value)


    })