我的应用程序中有此代码:
DataService.dataService.USERS_REF.childByAppendingPath(DataService.dataService.CURRENT_USER_ID).childByAppendingPath("groups").observeSingleEventOfType(.Value, withBlock: { snapshot in
print(snapshot)
})
如果我打印结果,我只得到一个具有此值的快照:
Snap (groups) {
"-KBAX-d4UNQMZErrTqPD" = true;
"-KBAX0rrrR-trRZc408F" = true;
"-KBAX2-lrGd-Bx2zVizv" = true;
"-KBCL_xUjm-kf1JsGgpA" = true;
"-KBCOlullSmzi46ecf9J" = true;
}
如果我打印snapshot.key
groups
如果我打印snapshot.value
{
"-KBAX-d4UNQMZErrTqPD" = true;
"-KBAX0rrrR-trRZc408F" = true;
"-KBAX2-lrGd-Bx2zVizv" = true;
"-KBCL_xUjm-kf1JsGgpA" = true;
"-KBCOlullSmzi46ecf9J" = true;
}
有没有一种方法可以迭代所有快照值并获取每个快照值的所有键和值?在这种情况下,此快照中有5个键和值。
最佳答案
不过,我已经找到解决办法了。在这种情况下:
DataService.dataService.USERS_REF.childByAppendingPath(DataService.dataService.CURRENT_USER_ID).childByAppendingPath("groups").observeSingleEventOfType(.Value, withBlock: { snapshot in
for rest in snapshot.children.allObjects as! [FDataSnapshot] {
print(rest.key)
}
})