2016-02-23 3 views
2

J'ai ce code dans mon application:Firebase instantané itérer à Swift

DataService.dataService.USERS_REF.childByAppendingPath(DataService.dataService.CURRENT_USER_ID).childByAppendingPath("groups").observeSingleEventOfType(.Value, withBlock: { snapshot in 

    print(snapshot) 

}) 

Si j'imprimer le résultat, je reçois seulement un instantané avec cette valeur:

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

Si j'imprimer instantané. clé que je reçois

groups 

et si j'imprimer snapshot.value je reçois

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

Existe-t-il un moyen de parcourir toutes les valeurs d'instantané et d'obtenir toutes les clés et valeurs de chacun? Dans ce cas, il y a 5 clés et valeurs dans cet accrochage.

Répondre

2

Peu importe, j'ai déjà trouvé la solution. Dans ce cas:

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