当孩子被改为nil时,我想要FIRDataEventTypeChildChanged而不是ChildRemoved?

时间:2016-11-02 07:25:00

标签: swift firebase firebase-realtime-database

当孩子更改为nil时,我希望调用FIRDataEventTypeChildChanged而不是ChildRemoved。我只想在删除被观察的根对象时调用ChildRemoved(设置为nil)。是否有任何简单的工作或者我必须通过将子字段设置为某些随机值(例如“gdgdsfdsfsadfsdNIL”)而不是删除它们然后更改前端的任何值nil来解决它?

2 个答案:

答案 0 :(得分:0)

您正在尝试针对SDK中的核心原则进行编程,这可能是最好的主意。

按照设计,当节点设置为nilNull实际上)时,将调用ChildRemoved。

如果你真的想要这种行为,最好的方法是在我看来,将你的值(如果是字符串)设置为""(空字符串),依此类推。但它可能会在以后转化为一些问题,而且你必须在规则中允许空值。

答案 1 :(得分:0)

根据定义,在Firebase数据库中将值设置为null等效于删除节点。没有办法改变这种行为。