Firebase Firebase снимок в качестве пользовательской модели - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь получить данные из моментальной копии Firebase как моя пользовательская модель данных под названием «RadioModel»

class RadioModel {
    var title : String?
    var image: String?
    var link: String?
    var description: String?

    init(title: String, image: String, link: String, description: String) {
        self.title = title
        self.image = image
        self.link = link
        self.description = description
    }
}

firebase data

ниже я пытаюсь сделать, нодает мне нулевое значение

mydb = Database.database().reference().child("radioStaions")
    mydb?.observe(.value, with: { (snapshot) in
        //print(snapshot)
        let menu = snapshot.value as! RadioModel
        self.radioMenu.append(menu)
    })

любая помощь будет оценена.

1 Ответ

0 голосов
/ 20 октября 2018

По крайней мере, вы пропускаете цикл по snapshot.children.Прямо сейчас вы наблюдаете radioStaions, и это дает вам снимок, который содержит несколько радиостанций.Чтобы добраться до каждой отдельной радиостанции, вам нужно перебрать snapshot.children, например:

mydb?.observe(.value, with: { (snapshot) in
   for station in snapshot.children.allObjects as! [DataSnapshot] {
      print(station.key)
      let desc = station.childSnapshot(forPath: "description").value as! String
      print(desc)
   }        
})

Могут быть другие проблемы с вашим кодом, но это определенно одна из тех, которые его нарушают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...