2016-02-23 6 views
2

У меня есть этот код в моем приложении:Firebase снимок итерация в Swift

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; 
} 

Если напечатать снимок. ключ я получаю

groups 

и если я печатаю snapshot.value я получаю

{ 
    "-KBAX-d4UNQMZErrTqPD" = true; 
    "-KBAX0rrrR-trRZc408F" = true; 
    "-KBAX2-lrGd-Bx2zVizv" = true; 
    "-KBCL_xUjm-kf1JsGgpA" = true; 
    "-KBCOlullSmzi46ecf9J" = true; 
} 

Есть ли способ выполнить итерацию всех значений моментальных снимков и получить все ключи и значения каждого из них? В этом случае в этой оснастке есть 5 ключей и значений.

ответ

2

Nevermind, я уже нашел решение. В этом случае:

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) 
    } 
})