奇怪的Firebase观察者行为Swift 4

时间:2019-03-22 20:18:36

标签: ios swift firebase-realtime-database

我有一个function,它监听Firebase在数据库中添加和删除的childs。 我对数组进行打印,在数组中我存储来自数据库的观察者之前的数据,然后存储来自观察者的数据,以便检查逻辑是否正常工作。快照将正确的对象添加到数组中或从数组中删除。

现在,我遇到的问题是,在控制台上,每个呼叫在.childAdded.childRemoved中都得到多个打印。它不是随机的,从新的模式开始,像是第一个添加到Firebase的打印了2张。从那开始,它是递增的。第二次添加或第一次移除会给我3张照片。等等等 几乎就像它有一个柜台。 删除viewWillDisappear中的观察者没有任何改变。

在Firebase中,我存储MKAnnotation的坐标。添加一个注释后,我便将其发布,并通过observer的{​​{1}}将其添加到地图中。删除它后,便从Firebase中将其删除,并从snapshot观察者那里获得了快照,并更新了地图。通过为每个.childRemoved设置一个断点,我注意到的是在observer上,它随着打印的内容而逐渐循环。那应该意味着注释会由.childRemoved观察者向地图添加该次数吗?我以为我解决了这个问题,但是很明显我没有解决。您能在这里发现问题吗? 和往常一样非常感谢 功能如下:

.chilAdded

0 个答案:

没有答案