如果您使用" toLast"来限制查询,请参阅Firebase文档。然后,当添加子项时,如果已经超过该值(在我的情况下为f.e.50),则还会触发子项被删除,因为第一个子项已从作用域中删除。
以下监听器是我在代码中的监听器:
firebaseReference.queryOrderedByKey().queryLimited(toLast: 50).observe(.childAdded...
firebaseReference.queryOrderedByKey().queryLimited(toLast: 50).observe(.childRemoved...
我想知道当一个孩子真的被删除或者孩子刚从范围中删除时,是否有某种方法可以区分。
非常感谢, 任何进一步的信息都不会犹豫不决。
答案 0 :(得分:0)
Firebase不会发送有关您收到.childRemoved
事件的原因的信息,因此根据该信息无法知道。
我唯一能想到的就是为每个孩子添加一个.value
监听器,然后在孩子被删除时用null
触发。
您希望在收到.value
处理程序后删除.childRemoved
侦听器,以便没有为您见过的每个孩子悬挂听众,因此这可能会变得更有价值而不是值得