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

Вышеуказанный снимок, полученный мной от Firebase.Как превратить моментальный снимок Firebase в массив элементов?

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

Как я могу прокрутить каждый просмотрщик и распечатать идентификатор пользователя?

+0

Использование чисел в качестве ключей в Firebase приведет к ряду из-за проблем, поэтому вам следует подумать об именах ваших ключей с childByAutoId. См. Ответ на этот вопрос. [Как отобразить информацию о firebase в моем iOS swift listview?] (Http://stackoverflow.com/questions/36586755/how-to-display-firebase-information-in-my-ios-swift -listview-контроллер/36607280 # 36607280). Это другой вопрос, но похожий ответ. – Jay

+0

@Jay спасибо за подсказку. На самом деле это всего лишь пример. Я использую автоматически созданные идентификаторы в производстве. – TIMEX

ответ

1

распахнулись мой последний проект с Firebase, я решал эту проблему следующим образом:

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

Там может быть чище способ сделать это

Смежные вопросы