草庐IT

removeAllObservers

全部标签

ios - 在 firebase 中如何删除所有观察者,而不是特定引用的观察者

我正在创建一个带有注销功能的Firebase应用。我的问题是classfuncsignOut(callback:((error:NSError?)->Void)){letref=Firebase(url:firebaseHost)ref.unauth()ref.removeAllObservers()leterr=UserCredentials.delete()callback(error:err)}只删除根引用的观察者?我想删除在应用的其他部分为几个不同的查询设置的所有观察者。我是否必须让ref...并重新创建所有这些引用才能删除观察者?unauth会断开并移除观察者吗?客户端是否有

ios - 为什么 removeAllObservers() 在 deinit 中不起作用?

众所周知,在iOS中使用Firebase时,每当您在ViewController中进行观察时,varo:DatabaseReference?varo2:DatabaseReference?varo3:DatabaseReference?重要的是,当屏幕消失时,您必须终止所有观察...privatefuncclearObservations(){print("\n\nclearingobservations!\n\n")ifo!=nil{o?.removeAllObservers()o=nil}ifo2!=nil{etc...}但是!经过大量测试后,您不能在deinit中调用clearO