根据Firebase文档,在返回初始数据后会立即取消函数observeSingleEventOfType
的块,但在我的情况下它并不是。
我有这段代码:
DataService.dataService.USERS_REF.childByAppendingPath(DataService.dataService.CURRENT_USER_ID).childByAppendingPath("groups").observeSingleEventOfType(.Value, withBlock: { snapshot in
for snap in snapshot.children.allObjects as! [FDataSnapshot] {
DataService.dataService.GROUPS_REF.childByAppendingPath(snap.key).observeSingleEventOfType(.Value, withBlock: {snapshot2 in
if snapshot2.exists() {
print(snapshot2)
}
})
}
})
我遇到的问题是,当我在GROUPS_REF
(嵌套函数)中添加一些数据时,这个嵌套函数不会被调用,因为observeSingleEventOfType
并且块被取消但是,当我在USERS_REF
中添加一些数据时,并没有发生同样的事情,这样可以再次调用主函数及其嵌套函数。两者都是observeSingleEventOfType
所以它们都不应该被调用。有什么我做错了吗?或者这是Firebase的错误?