[英]How to set variables from a Firebase snapshot (swift)
尝试使用:-
FIRDatabase.database().reference().child("users/userID/ls").observeSingleEvent(of : .value, with : {(Snap) in
if let snapDict = Snap.value as? [String:AnyObject]{
for each in snapDict{
print("\(each.value["fromId"] as! String)")
}
}
})
您应该能够将FIRDataSnapshot值转换为[String:Any]字典,然后使用“ fromId”,“ text”和“ toId”键访问这些值并将这些值分配给变量。
最简单的方法是: SnapshotParser
只需实现您的类:
func main(){
let users=SnapshotParser().parseAsList(snap: Snapshot, type: User.self)
for user in users{
//do something with your object
}
}
class User: ParsableSnapshot {
var id:String?=nil
var email:String?=nil
var ls:[Ls]?=nil
required init(){}
func bindProperties(binder: SnapshotParser.Binder) {
binder.bindField(name: "id", field: &id)
binder.bindField(name: "email", field: &email)
binder.bindList(name: "ls", list: &ls)
}
}
class Ls: ParsableSnapshot {
var id:String?=nil
var fromId:String?=nil
var text:String?=nil
var told:String?=nil
required init(){}
func bindProperties(binder: SnapshotParser.Binder) {
binder.bindField(name: "id", field: &id)
binder.bindField(name: "fromId", field: &fromId)
binder.bindField(name: "text", field: &text)
binder.bindField(name: "told", field: &told)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.