2016-04-13 12 views
0
{ 
    "body": "Hello there", 
    "viewers": { 
     "1": { 
      "user_id": 1 
     }, 
     "2":{ 
      "user_id": 2 
     } 
    } 
} 

Firebase'den aldığım anlık görüntü.Firebase anlık görüntüsünü bir dizi öğeye nasıl dönüştürebilirim?

 fireRef!.observeEventType(FEventType.Value) { [weak self] (snapshot: FDataSnapshot!) -> Void in 
      if let stuff = snapshot.value as? [String:AnyObject] { 
       print(stuff) //okay, it prints the snapshot correctly 
       //Now, I need to access the "viewers" part, but how? 
      } 
     } 

Her görüntüleyiciden nasıl geçebilir ve kullanıcı kimliğini yazdırabilir miyim?

+0

yapmak için daha temiz bir yolu var olabilir Bu nedenle, anahtarlarınızı childByAutoId ile adlandırmayı düşünmelisiniz. Bu sorunun cevabına bakın [iOS hızlı liste görüntüleme denetleyicimde firebase bilgileri nasıl görüntülenir?] (Http://stackoverflow.com/questions/36586755/how-to-display-firebase-information-in-my-ios-swift -listview kontrol cihazı/36607280 # 36607280). Bu farklı bir soru ama benzer bir cevap. – Jay

+0

@Jay Bahşiş için teşekkürler. Aslında bu sadece bir örnektir. Üretimde otomatik oluşturulan kimlikler kullanıyorum. – TIMEX

cevap

1

attı Firebase ile olan son projeyi açmak, bu sorunun çözümü edildi şöyle: Firebase anahtarlar bir dizi yol açacaktır olarak

if let viewers = stuff["viewers"] as? [String:[String:Int]] { //Firebase could deliver your numbers as strings, in that case try [String:[String:String]] 
       for viewer in viewers { 
        let userID = viewer.1 
        print(userID.values.first) 
       } 
      } 

numaralarını kullanma o

İlgili konular