首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Swift 3中包含字典的Firebase进程的子快照

Swift 3中包含字典的Firebase进程的子快照
EN

Stack Overflow用户
提问于 2016-10-11 19:45:18
回答 2查看 1.1K关注 0票数 0

我正在尝试从Firebase中的一些用户那里获取信息。

为此,我运行了一个查询,根据我传递的用户id选择用户。

问题是,在user对象中,有另一个object

当我试图在我的代码中获得整个用户时,我只得到了最后一个对象。

下面是用户在Firebase中的样子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
USERIDHERE
{
  "coins" : 4850,
  "name" : "Jogador 1020",
  "score" : 22,
  "unlocked" : {
    "000" : true,
    "KA0293" : true
  }
}

这是获取用户的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ref.child("users").child(key).observeSingleEvent(of: .value, with: { (snapshot) in
                        for snap in snapshot.children.allObjects as! [FIRDataSnapshot] {
                            if let dict = snap.value as? Dictionary<String,AnyObject> {
                                print(dict) 
                            }

                        }

                    })

当我打印字典时,并没有得到所有的用户信息,在这个例子中,我只得到了以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
["000": 1, "KA0293": 1]
EN

回答 2

Stack Overflow用户

发布于 2016-10-12 14:41:31

数据库:

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let ref = FIRDatabase.database().reference()
let refUsers = ref.child("users")
let refUser = refUsers.child("123")

refUser.observeSingleEvent(of: .value) { (snap: FIRDataSnapshot) in
  if snap.exists() {
    if let dict = snap.value as? [String: Any] {
      print(dict)
    }
  }
}

打印输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
["unlocked": {
    000 = 1;
    KA0293 = 1;
}, "name": Jogador 1020, "score": 22, "coins": 4850]
票数 1
EN

Stack Overflow用户

发布于 2016-10-11 22:53:51

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ref.child("users").child(key).observeSingleEvent(of: .value, with: { (snapshot) in

// you can get your user's name like below:

username = (snapshot.value as? NSDictionary)?["name"] as! String

  if let dict = snapshot.value as? Dictionary<String,AnyObject> {
                                    print(dict) 
                                }
                        })

快照已包含用户的所有信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39985482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文