2016-07-31 21 views
0

Ich versuche, einige Daten von meinem Firebasedatabase abrufen, aber ich kann es nicht tun. Zuerst habe ich .json Datei mit Daten erstellt und dann in Firebase importiert. Es sieht aus wie das, aber es ist viel mehr:Abrufen bestimmter Daten von Firebase

enter image description here

Nun Ich versuche, die „Marken“ wie „CATCH“, „CRAFTED SNUS“ usw. drucken alle, aber ich kann nicht aus irgendeinem Grund.

Das ist, wie ich es mache. Ich lade es in viewDidLoad(). Ich weiß, es ist nicht richtig zu tun, aber nur zum Testen:

func fetchBrands(){ 
    ref = FIRDatabase.database().reference() 
    ref.observeSingleEventOfType(.Value, withBlock: { snapshot in 

     if !snapshot.exists() { return } 

     //print(snapshot) 

     if let snusBrand = snapshot.value!["Brands"] as? String { 
      print(snusBrand) 
     } 

     // snapshot.childSnapshotForPath("full_name").value as! String 
    }) 


} 

Was mache ich falsch? Ich habe auch die read und write Regeln von Firebase zu true

Das einzige, was er druckt, ist dies:

enter image description here

+0

welcher Fehler erhalten Sie? Was druckt 'print (snusBrand)'? – adolfosrs

+0

@adolfosrs Die einzige Sache, die es druckt, ist ein langer Text über Proxy usw. Überprüfen Sie bearbeiten. –

+0

Verwenden Sie 'snapshot.key', um den Schlüssel jedes Dokuments zu erhalten. – Odonno

Antwort

2

Sie können versuchen, den Referee Aktualisierung direkt auf die untergeordneten Marken zu zeigen und Iterieren auf dem zurückgegebenen Snapshot wie folgt:

ref = FIRDatabase.database().reference().child("Brands") 

ref.observeEventType(.Value, withBlock: { snapshot -> Void in 
    for brands in snapshot.children { 
     print(brands) 
    } 
    }) 
+0

Immer noch nichts :( –

+0

hmm, versuche: 'ref = FIRDatabase.database(). Reference(). Child (" Snuses "). Child (" Brands ")' –

+0

Sollen 'child_added' event und' key' Eigenschaft von jeder Schnappschuss. – Odonno

Verwandte Themen