0
如何将存储在我的firebase数据库中的列表中的对象映射到其swift对应的对象?将Firebase数据库子项映射到swift 3对象
眼下以下不工作:
for child in snapshot.children{
let tempMed = child as Med
}
如何将存储在我的firebase数据库中的列表中的对象映射到其swift对应的对象?将Firebase数据库子项映射到swift 3对象
眼下以下不工作:
for child in snapshot.children{
let tempMed = child as Med
}
你不能直接从FIRDataSnapshot
获得自定义对象,你要做的就是创建一个init
与您的自定义类或结构,并用它来从FIRDataSnapshot
创建对象。
防爆
struct Med {
let title: String
let desc: String
init?(snapshot: FIRDataSnapshot) {
guard let dic = snapshot.value as? [String:Any],
let title = dic["title"] as? String,
let desc = dic["description"] as? String else {
return nil
}
self.title = title
self.desc = desc
}
}
现在得到的Med
这样阵列。
let meds = snapshot.children.flatMap { Med(snapshot: $0 as! FIRDataSnapshot) }