Eliminar el cambio del observador después del valor en Firebase

Tengo un observador global en ViewController y necesito algunos observadores diferentes dentro de él para valores específicos como uno a continuación. ¿Es posible eliminar el observador después del cambio de valor una vez?

var ref = Firebase(url: "https://<FIREBASE-APP>.firebaseio.com/") let handle = ref.observeEventType(.Value, withBlock: { snapshot in //Here VALUE Changes to NEW_VALUE if snapshot.value as! String == NEW_VALUE { //IS IT POSSIBLE TO REMOVE HANDLE HERE???? ...something here } }) //NOT HERE ...ref.removeObserverWithHandle(handle) 

Este es uno de los casos en los que necesita dar un paso más en Swift, ya que no se da count de que puede acceder con security al handle dentro del bloque.

Una forma de trabajar alnetworkingedor de esto es:

 let ref = Firebase(url: "https://yours.firebaseio.com/") var handle: UInt = 0 handle = ref.observeEventType(.Value, withBlock: { snapshot in print(snapshot) if snapshot.exists() && snapshot.value as! String == "42" { print("The value is now 42") ref.removeObserverWithHandle(handle) } }) 

Al inicializar explícitamente la variable handle , eliminamos el error del comstackdor Swift. Pero dado que el identificador se habrá establecido antes de que nuestro bloque se invoque, podemos llamar con security ref.removeObserverWithHandle(handle) dentro del bloque.