2016-09-26 21 views
5

Firebase của tôi trông giống như thế này. Bên dưới Active_Orders nó xuất hiện childs với các tên khác nhau tùy thuộc vào UID (ID người dùng) của họ.Firebase nhận được ID con nhanh chóng ios

Và đây là mã của tôi để lấy ID của trẻ không có vấn đề gì tên là. Nhưng nó dường như không hoạt động chút nào. Whats cách thích hợp để có được child ID? Cảm ơn

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

Cho cây JSON tối thiểu nhưng suffise của bạn .. không phải là một đoạn nhưng như một văn bản .. – Dravidian

+0

Tôi muốn chắc chắn rằng tôi hiểu được câu hỏi: Trong trường hợp này, bạn muốn customerUID bằng "ZDitJoAnqES6PPO3teK0EDQnGXJ2", đúng không? – Ryan

+0

Không, tôi muốn in ra tên/ID của "Active_Orders -> Child" – Victor

Trả lời

11

Thật khó để nói từ câu hỏi của bạn chính xác những gì bạn đang làm, nhưng điều này giúp bạn có được danh sách bạn cần?

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

Tôi tin rằng khối này sẽ lặp lại trên tất cả các trẻ em bên trong "Active_Orders" và in ra giá trị chính của chúng (có vẻ như bạn đang cố in).

+0

Cảm ơn rất nhiều Ryan! – Victor

+0

Vui vì tôi có thể giúp! – Ryan

1

Đối Swift 3 và căn cứ hỏa lực 4

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) 
}) 
Các vấn đề liên quan