我正在观察firebase中的节点是否已更新,以便我可以在表中重新加载数据。我有这个代码观察节点,但我找不到任何具体的关于如何检查节点值是否已更改。
观察firebase中的“info”节点:
for activeGrp in FriendSystem.system.activeGroups {
FriendSystem.system.CURRENT_USER_GROUP_REF
.child(activeGrp.groupID)
.child("info")
.observe(.value, with: {
(snapshot) in
//This is where I am lost/////////////////
})
}
群组数组
var activeGroups = [Groups]()
func addActiveGroupObserver(_ update: @escaping () -> Void) {
CURRENT_USER_GROUP_REF.observe(.value, with: { (snapshot) in
self.activeGroups.removeAll()
for child in snapshot.children.allObjects as! [DataSnapshot] {
let id = child.key
self.getGroup(id, completion: { (group) in
self.activeGroups.append(group)
self.activeGroups.sort {$0.name < $1.name}
update()
})
}
if snapshot.childrenCount == 0 {
update()
}
})
}
答案 0 :(得分:0)
你必须使用FIRDataEventTypeChildChanged
收听列表中项目的更改。每次修改子节点时都会触发此事件。这包括对子节点后代的任何修改。传递给事件侦听器的快照包含子级的更新数据。
详细说明请使用以下网址。