2016-02-19 5 views
0

Я пытаюсь получить все значения, которые у меня есть в каждом сообщении (post_text, timestamp, username), которое будет использоваться в представлении таблицы с помощью Swift. Я пробовал этот код, но не был уверен, куда идти отсюда, чтобы получить каждое значение из сообщений.Как получить данные от каждого ребенка в Firebase?

ref.observeEventType(.Value, withBlock: { snapshot in 
     self.posts = snapshot.value.objectForKey("posts") as! [String: String] 
     print(self.posts) 
     self.tableView.reloadData() 
}) 

JSON Firebase файл:

 


    { 
     "posts" : { 
     "-KAqlyZ71SNZfZ4Zbs27" : { 
      "post_text" : "Hello", 
      "timestamp" : 1455839242909, 
      "username" : "hello" 
     }, 
     "-KAqmD6HPbhAVkjT54-k" : { 
      "post_text" : "Hi", 
      "timestamp" : 1455839306600, 
      "username" : "user7" 
     }, 
     "-KAr9ATmAjObiTsn4yUC" : { 
      "post_text" : "Hi", 
      "timestamp" : 1455845587135, 
      "username" : "user7" 
     }, 
     "-KArIBlnKSJWGhD9Me6T" : { 
      "post_text" : "Dddd", 
      "timestamp" : 1455847983983 
     } 
     }, 
     "users" : { 
     "5476cde6-b343-476d-abb7-8131d3766ba7" : { 
      "email" : "[email protected]", 
      "posts" : { 
      "-KAm_8ShLSKrKKMhNjpm" : { 
       "post_text" : "Hello :)", 
       "timestamp" : 1455768771004 
      } 
      }, 
      "provider" : "password", 
      "username" : "ad" 
     }, 
     "b7b7de04-e180-4cac-abd3-57c016640e32" : { 
      "email" : "[email protected]", 
      "posts" : { 
      "-KAqmD6HPbhAVkjT54-l" : { 
       "post_text" : "Hi", 
       "timestamp" : 1455839306869 
      }, 
      "-KAr9ATq-MEkYmAr2SB_" : { 
       "post_text" : "Hi", 
       "timestamp" : 1455845587513 
      }, 
      "-KArIBlxY-FvbsmgF5bI" : { 
       "post_text" : "Dddd", 
       "timestamp" : 1455847985342 
      } 
      }, 
      "provider" : "password", 
      "username" : "user7" 
     }, 
     "fb67da22-e0dd-4ced-873b-53a588d78feb" : { 
      "email" : "[email protected]", 
      "posts" : { 
      "-KAqlyZAah6bclwqWi5M" : { 
       "post_text" : "Hello", 
       "timestamp" : 1455839243184 
      } 
      }, 
      "provider" : "password", 
      "username" : "hello" 
     } 
     } 
    } 
 

Как я мог это сделать?

+0

Это собирается быть немного больше, чтобы ответить ниже, но здесь хороший учебник: http://www.raywenderlich.com/109706/firebase-tutorial-getting-started. Вы также можете быть заинтересованы в использовании FirebaseUI для тяжелой работы для вас: https://github.com/firebase/firebaseui-ios#firebasetableviewdatasource –

ответ

0

Вы можете просто создать объект Post, который может быть инициализирован Dictionary. Затем просто выберите один ключ с его значением.

var posts : [Post] = []() 
json.forEach { (key, dictionary) -> in 

    let post = Post(
     key: key, 
     dictionary: dictionary 
    ) 

    posts.append(post) 
} 

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

  • Нет связанных вопросов^_^