当孩子更改为nil时,我希望调用FIRDataEventTypeChildChanged
而不是ChildRemoved
。我只想在删除被观察的根对象时调用ChildRemoved
(设置为nil
)。是否有任何简单的工作或者我必须通过将子字段设置为某些随机值(例如“gdgdsfdsfsadfsdNIL”)而不是删除它们然后更改前端的任何值nil
来解决它?
答案 0 :(得分:0)
您正在尝试针对SDK中的核心原则进行编程,这可能是最好的主意。
按照设计,当节点设置为nil
(Null
实际上)时,将调用ChildRemoved。
如果你真的想要这种行为,最好的方法是在我看来,将你的值(如果是字符串)设置为""
(空字符串),依此类推。但它可能会在以后转化为一些问题,而且你必须在规则中允许空值。
答案 1 :(得分:0)
根据定义,在Firebase数据库中将值设置为null等效于删除节点。没有办法改变这种行为。