¿Cómo eliminar un identificador GeoFire para la siguiente observación en Swift?
Esta es una pregunta para Swift, Firebase y Geofire.
Me gustaría saber cómo eliminar un identificador GeoFire para el siguiente observador en Swift.
locationsEnd!.query(at: location, withRadius: 16.0).observe(GFEventType.init(rawValue: 0)!, with: {(key, location) in
Lo siguiente funciona bien (en viewDidDisappear):
locationsEnd?.firebaseRef.removeAllObservers()
Sin embargo, con el mango no:
var locationHandle: UInt = 0
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
//following does not work:
locationsEnd?.firebaseRef.removeObserver(withHandle: locationHandle)
}
func aroundMe(_ location: CLLocation){
locationHandle = locationsEnd!.query(at: location, withRadius: 16.0).observe(GFEventType.init(rawValue: 0)!, with: {(key, location) in
//etc
})
}
Probé el locationHandle de la siguiente manera, sin éxito:
var locationHandle = FirebaseHandle()
var locationHandle: FirebaseHandle = 0
var locationHandle: UInt!
var locationHandle: UInt = 0
var locationHandle = FIRDatabaseHandle()
var locationHandle: FirebaseHandle = 0
Cualquier sugerencia sería genial, como se mencionó, puedo eliminar a todos los observadores, pero en otros lugares solo necesito eliminar un identificador.