2016-10-12 17 views
0

Firebaseデータベース内のセクションのすべての子の名前を取得したいと考えています。それから私はそれらを配列に入れたいと思う。子ノードの名前を取得FirebaseデータベースSwift

{ 
    "sVkyFjTI9yOTlOPFzUv5MvFozlh2" : { 
    "groups" : { 
     "group 1" : "9FA02017-172B-434B-A873-518854697CCC", 
     "group 2" : "B52743E0-8441-40FB-98BA-51920F31EFE6", 
     "group 3" : "1A320965-88A3-42FF-A917-0D93BE39B357" 
    } 
    } 
} 

私はすでにこれをやった:

ref.child("user_profile").child(user!.uid).child("groups/").observeSingleEventOfType(.Value, withBlock: { snapshot in 
     if !snapshot.exists() { return } 
     let groupDict = snapshot.value! as? [string] 
}) 

をしかし、私は唯一の(ここでは 'グループ1'、 'グループ2'、 'グループ3')配列内の子の名前を必要とし、それらの値ではありません。助けてくれてありがとう。

+0

あなたはに(リンクを含めました)あなたの質問のJSONツリーの画像。 Firebaseデータベースコンソールの[エクスポート]ボタンをクリックすると、実際のJSONをテキストとして置き換えてください。 JSONをテキストとして検索可能にすることで、実際のデータを使ってテストしたり、答えに使用したりすることができます。一般的には、これは良いことです。 –

+0

それ以外にも、 'snapshot.key!'はあなたにアイテムのキーを与えます。 –

+0

私はこれを試しましたが、うまくいきません!私は親の名前だけを取得する: "グループ" –

答えて

3

私はこのコードを使用し、それが完璧に動作します: VAR REF = Firebase(URL: "httpsの://.firebaseio.com/restaurants/")

ref.child("user_profile").child(user!.uid).child("groups").observeEventType(.Value, withBlock: { 
     snapshot in 
     var groupNames = [String]() 
     for group in snapshot.children { 
      groupNames.append(group.key) 
     } 
     print(groupNames) 
    }) 
関連する問題