2017-03-10 6 views
0

Ich erstelle eine App ähnlich Instagram. Ich habe in Benutzer-Feed Tab mit diesem CodeZugriff auf alle Firebase Benutzerinformationen

FIRDatabase.database().reference().child("posts").child(self.loggedInUser!.uid).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in 

    let key = snapshot.key 
    let snapshot = snapshot.value as? NSDictionary 
    snapshot?.setValue(key, forKey: "uid") 
    print(snapshot) 
    if(key == self.loggedUser?.uid) 
    { 
     print("same as logged in user") 
    } 
    else 
    { 
    self.usersArray.append(snapshot) 
     self.followUsersTableView.insertRows(at: [IndexPath(row:self.usersArray.count-1,section:0)], with: UITableViewRowAnimation.automatic) 
    } 



    }) { (error) in 
     print(error.localizedDescription) 

    } 

Allerdings möchte ich eine Registerkarte erstellen angemeldet, die alle Benutzer in den Datenbank-Beiträge gibt, aber wenn ich diesen Code verwenden

FIRDatabase.database().reference().child("posts").observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in 

Es funktioniert nicht.

My Firebase sieht Datenbank wie diese

Gibt es eine Möglichkeit ich den Titel Knoten aller Benutzer zugreifen können und das nicht nur für angemeldete Benutzer.

+0

schließen Sie den Code innerhalb der Fertigstellung Handler beobachten (alles nach 'mit: {') ​​ – dstepan

+0

@dstepan ich es aktualisiert haben. – juelizabeth

+0

Siehe [fragen] (http://stackoverflow.com/help/how-to-ask) und [creating a mcve] (http://stackoverflow.com/help/mcve). – Kato

Antwort

0

Sie tun können, es wie dieses

FIRDatabase.database().reference().child("posts").observeSingleEvent(of: .value, with: { (snapshot) in 
    for child in snapshot.children { 

     if let item = child as? FIRDataSnapshot { 

      // get values 
      let foo = item["index"] as? String 

     } 

    } 
} 
+0

gefunden werden, es hat leider nicht funktioniert. – juelizabeth

Verwandte Themen