mam globalnego obserwatora ViewController i potrzebują kilka różnych obserwatorów wewnątrz niego konkretnych wartościach, takich jak ten poniżej. Czy można raz usunąć obserwatora po zmianie wartości?Usuń obserwator po zmianie wartości w Firebase
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)
ref.observeSingleEventOfType? – mrkbxt
observeSingleEventOfType po prostu obserwuje raz, tak jak pojedyncze zapytanie, a następnie usuwa się sam. Muszę zawsze obserwować wartość, dopóki się nie zmieni, a potem ją usunąć. –
Czy możesz wyjaśnić; różni obserwatorzy dla określonych wartości? W pytaniu obserwujesz przez .value, cały twój węzeł aplikacji, który uruchomi dowolną edycję dodaną lub usunie zdarzenie w dowolnym miejscu w tym węźle. Jeśli nastąpi zmiana, migawka zwróci * wszystko * (wszystkie węzły potomne, ich dzieci itd.) Wewnątrz tego węzła, którego nie można porównać z łańcuchem. nawet jeśli może jednak, jeśli usuniesz uchwyt, węzeł aplikacji nie będzie już obserwowany w przypadku jakichkolwiek zmian. Czy możesz uściślić swoje pytanie? – Jay