2016-09-26 27 views
5

Firebase'im buna benzer. Active_Orders belgesini,(kullanıcı kimliği) bağlı olarak farklı adlarla birlikte childs görünür.Firebase çocuğa kimlik numarası getirme ios

Ve bu olursa olsun adının ne çocuğun kimliğini almak için benim koddur. Ama hiç işe yaramıyor. child ID'u edinmenin doğru yolu nedir? Tam olarak ne yaptığını sorunuza gelen söylemek zor, ama bu size ihtiyacınız listesini almak yok

databaseRef.child("Active_Orders").observeEventType(FIRDataEventType.Value, withBlock: { 
        snapshot in 
       //Get customerUID 
       let customerUID = snapshot.value!.objectForKey("username") as! String 
       self.setText("customerUID", value: customerUID) 
+0

sizin minimal ama suffise JSON ağacını ver .. değil pasajı ama metin olarak .. – Dravidian

+0

ben soruyu anlamadım emin olmak istiyorum: Bu durumda, customerUID'nin "ZDitJoAnqES6PPO3teK0EDQnGXJ2" ye eşit olmasını istiyorsanız, doğru mu? – Ryan

+0

Hayır, adı/ID yazdırmak istiyorum "Active_Orders -> Çocuk" – Victor

cevap

11

Teşekkür?

databaseRef.child("Active_Orders").observeEventOfType(.Value, withBlock: { (snapshot) in 
    if let result = snapshot.children.allObjects as? [FIRDataSnapshot] { 
     for child in result { 
      var orderID = child.key as! String 
      print(orderID) 
     } 
    } 
}) 

bu blok içinde "Active_Orders" tüm çocukları üzerinde yineleme ve (yazdırmaya çalışırken ne gibi görünüyor) kendi anahtar değeri çıktısını gerektiğine inanıyoruz.

+0

Teşekkürler Ryan çok! – Victor

+0

Sevindim Yardımcı olabilirim! – Ryan

1
Swift 3 ve Firebase 4 için

let ref = Database.database().reference() 

ref.child("Active_orders").observe(.value, with: { snapshot in 

    if !snapshot.exists() {return} //may want to add better error handling here. 

    let info = snapshot.value as! NSDictionary 

    print("info keys are:", info.allKeys) 
})