【问题标题】:How to extract child of node in data snapshot如何在数据快照中提取节点的子节点
【发布时间】:2016-10-17 04:17:58
【问题描述】:

我的火力基地设置是这样的:

Parent_node:{
    Type:{
        1476663471800:{ //This is a timestamp = Int64(date.timeIntervalSince1970 * 1000.0) 
            uid: USERS_UID;
        }
    }
}

如何访问用户 uid?我试过下面的代码,但它没有提取 UID

self.databaseRef.child("Parent_node/\(Type)").queryLimitedToLast(5).observeEventType(.Value, withBlock: { (snapshot) in

   print(snapshot)
   if let userDict = snapshot.value as? [String:AnyObject]{
        for each in userDict{
            let uidExtraced = each
            print(uidExtraced)
            //("1476663471700", [uid: USERS_UID])

【问题讨论】:

  • 你想要USERS_UID????
  • 嗨!是的,我正在尝试提取 USERS_ID :(
  • 我收到一个错误:类型 '(String, AnyObject)' 没有下标成员

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

首先使用snapshot.value?.allValues 获取值然后解析它...

  if snapshot.exists() {
     for value in (snapshot.value?.allValues)!{
          print(value) // you get [uid: USERS_UID] here

          // ... parse it to get USERS_UID
          print("user_id -- \(value["uid"])")
      }
  }

使用这种方法,孩子的顺序可能会有所不同。对于有序节点,可以使用snapshot.child

【讨论】:

    猜你喜欢
    • 2012-02-09
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2015-05-20
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多