firebase firebase快照作为自定义模型

时间:2018-10-20 03:56:55

标签: swift firebase firebase-realtime-database casting

我正在尝试从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 :(得分:0)

至少,您错过了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)
   }        
})

您的代码可能还有其他问题,但这肯定是破坏它的原因。