Как убрать дескриптор GeoFire для следующего наблюдения в Swift?
Это вопрос к Swift, Firebase и Geofire.
Я хотел бы знать, как удалить дескриптор GeoFire для следующего наблюдателя в Swift.
locationsEnd!.query(at: location, withRadius: 16.0).observe(GFEventType.init(rawValue: 0)!, with: {(key, location) in
Следующее работает отлично (в viewDidDisappear):
locationsEnd?.firebaseRef.removeAllObservers()
Однако с ручкой это не так:
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
})
}
Я пробовал locationHandle следующим образом, но безуспешно:
var locationHandle = FirebaseHandle()
var locationHandle: FirebaseHandle = 0
var locationHandle: UInt!
var locationHandle: UInt = 0
var locationHandle = FIRDatabaseHandle()
var locationHandle: FirebaseHandle = 0
Любые предложения были бы хорошими, как уже упоминалось, я могу просто удалить всех наблюдателей, но в другом месте мне нужно просто удалить ручку.