2016-09-26 14 views
5

Firebase가 다음과 같이 보입니다. Bellow Active_OrdersUID (사용자 ID)에 따라 다른 이름을 가진 childs이 표시됩니다.Firebase가 아이디를 빨리 가져옵니다.

는 그리고 이것은 상관없이 이름이 무엇인지 아이의 ID를 얻을 내 코드입니다. 그러나 전혀 작동하지 않는 것 같습니다. 무엇이 적절한 방법으로 child ID을 얻을 수 있습니까? 당신이하고있는 정확하게 질문에서 얘기하기 어렵다, 그러나 이것은 당신이 필요로하는 목록을 얻을 않습니다

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

당신의 최소한하지만 suffise JSON 트리주세요 .. 아닌 조각 아니라 텍스트로 .. – Dravidian

+0

는 제가 질문을 이해 있는지 확인하려면 :이 경우, customerUID를 "ZDitJoAnqES6PPO3teK0EDQnGXJ2"와 같게하고 싶습니까? – Ryan

+0

아니요, "Active_Orders -> Child"의 이름/ID를 인쇄하고 싶습니다. – Victor

답변

11

감사합니다?

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

나는이 블록 안에 "Active_Orders"모든 자식들에 대해 반복하고 (인쇄 무엇을하려고하는 것 같다) 자신의 키 값을 인쇄해야합니다 생각합니다.

+0

고마워요 라이언! – Victor

+0

기꺼이 도와 드리겠습니다! – Ryan

1
스위프트 3 중포 기지 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) 
}) 
관련 문제