Firebase: когда вызывать removeObserverWithHandle в swift

Документация говорит, что вам нужно позвонитьobserveEventType:withBlock удалить наблюдателя, если он вам больше не нужен.

Я видел образцы, где это называется вViewDidDisAppear, Я также нахожу некоторый код Obj-C под названием этот метод вdeinit, что не является необходимым в Swift.

Однако в моем простом приложении я хочу, чтобы данные синхронизировались, пока я в приложении. Если это так, я должен позвонитьobserveEventType:withBlock Когда-либо?

Я проверил пример кода Chat-Swift на сайте Firebase и не нашелobserveEventType:withBlock.

Значит, нормально не звонитьobserveEventType:withBlock:. если я хочу, чтобы наблюдатель был включен, когда приложение используется?

Спасибо.

ОБНОВИТЬ

Спасибо Джею и Дэвиду. Я вижу, что имеет смысл наблюдать в ViewWillAppear и удалять его в ViewDidDisappear.

Тем не менее, я использую Наблюдение за событием для отслеживания любых изменений значения для узла и будет обновлять пользовательский интерфейс, если таковые имеются. Если я положу его в ViewWillAppear:

 override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    ref.observeEventType(.Value, withBlock: { snap in {
      // **update UI if there is any Value change** 
    })
  }

Проблема с этимviewWillAppear в том, что он вызывается каждый раз, когда появляется представление, независимо от того, изменяется значение или нет. Из-за этого снимок загружается, и мой пользовательский интерфейс обновляется каждый раз, когда я возвращаюсь к представлению. Это становится контрпродуктивным.

Я также пыталсяChildAdded/ChildRemovedоднако он возвращает только последний узел, а не путь из моей ссылки:

Например, если я добавлю к ref / child1 / child2 / child3 / value,ChildAdded вернул бы только child3 / value.

Так что, если мне нужно соблюдать ценность, кажется, чтоViewDidLoad лучше? Таким образом, он получает снимок один раз при загрузке представления и будет повторяться всякий раз, когда есть изменение, но не получит снимок только потому, что представление появляется.

Ответы на вопрос(3)

Ваш ответ на вопрос