我正在尝试从 firebase 更新 tableView 值中的值。这些值在observe闭包中被放入数组中,但之后它仍然是0,这是有道理的,因为它是异步的(如果我错了,请纠正我)。但是,这在之前的 tableView 中已经有效,所以我不确定问题是什么。这是代码:
let id = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(id!).child("createdEvents").observe(.value) { snapshot in
//self.eventsArray.removeAll()
let ref = Database.database().reference().child("users").child(id!).child("createdEvents")
ref.observe(.value) { snapshot in
print("start")
print(snapshot.childrenCount)
let enumerator = snapshot.children
while let rest = enumerator.nextObject() as? DataSnapshot {
self.eventsArray.append(rest.key as! String)
}
Database.database().reference().child("Events").observe(.value) { (data) in
let events = data.value as! [String:[String:Any]]
for(_,value) in events{
print(self.eventsArray)
if(self.eventsArray.contains(value["EventName"]! as! String)){
self.actualEvents.append(AdminEvents(evName: value["EventName"]! as! String, evDesc: value["EventDescription"]! as! String, evStartDate: value["start time"]! as! String, evEndDate: value["end time"] as! String, evNumPeople: value["NumberOfPeople"]! as! Int, evNumRegistered: value["currentPeople"] as! Int))
}
}
print("Actual events array " + "\(self.actualEvents)")
}
}
self.tblEvents.reloadData()
}
这里的最终目标是进入用户创建的事件并将 eventTest 和 eventTest1 打印到 tableView,但其中没有值。 编辑:我忘记添加事件 firebase 结构,它确实存在。
最佳答案
我在您的数据库中没有看到任何名称为“Events”的子项。
Database.database().reference().child("Events").observe(.value) { (data) in
关于ios - 未从 firebase 添加 TableView 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59798054/