Swift 数据发生变化时快速加载firebase数据库数据
我设置了一个tableview,它正在获取我的firebase数据库信息,如下所示。如何设置侦听器以查找任何新的数据库更改?目前,在查看我的tableview时,我可以向数据库中添加一个新项,但在再次重新加载该视图之前,不会看到tableview上的更改Swift 数据发生变化时快速加载firebase数据库数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我设置了一个tableview,它正在获取我的firebase数据库信息,如下所示。如何设置侦听器以查找任何新的数据库更改?目前,在查看我的tableview时,我可以向数据库中添加一个新项,但在再次重新加载该视图之前,不会看到tableview上的更改 var markets: [loadMyData] = [] var marketSelectedText = "" var myKey = [Any]() override func viewDidLoad() {
var markets: [loadMyData] = []
var marketSelectedText = ""
var myKey = [Any]()
override func viewDidLoad() {
super.viewDidLoad()
ref.child("Markets").observeSingleEvent(of: .value, with: { (snapshot) in
guard snapshot.exists() else
{
print("Null Markets")
return
}
let allMarkets = (snapshot.value as! NSMutableDictionary).allKeys
self.myKey = allMarkets
self.tableView.reloadData()
print(self.myKey, " This is the printing of my key")
})
ref.child("Markets").observe(.value, with: { snapshot in
print(snapshot.value as Any, " ref.observe")
self.tableView.reloadData()
})
}
现在您正在使用:
ref.child("Markets").observeSingleEvent(of: .value,
这会在市场
下观察当前数据,然后停止观察
如果要同时获取当前数据和任何更改,请使用
observe(DataEventType.value
Firebase正在提供侦听器来观察数据库更改,请查看Firebase文档
- FIRDataEventTypeChildChanged 这是侦听数据库更改的事件 commentsRef.observe(.childChanged,其中:{(快照)位于 //在这里,您将在snapshot.value中获得更改的节点值 })