Я пытаюсь установить наблюдателя Firebase, вызывая следующее:
ref.child(id).child("isLocked").observe(.value, with: { snapshot in
print("isLocked = ", snapshot.value!)
})
Когда представление загружается, оно работает отлично.Он печатает правильное значение.
Когда я изменяю значение в самом Firebase или на отдельном устройстве, isLocked больше никогда не печатается.Когда это должно быть, так как у меня есть наблюдатель на пути.Что дает?
Конечной целью здесь является предоставление UIB-кнопки, доступной в зависимости от того, является ли значение lock
истинным для false.
Представление загружается с помощью button.isHidden = true
.
ОБНОВЛЕНИЕ
Я обнаружил, что источник моей проблемы с наблюдателем не "Работает"
Может показаться, что существует проблема с синхронизацией.
В предыдущем контроллере представления (который переходит в новый контроллер представления) я звоню ref.child(pID).child("isLocked").removeAllObservers()
в функции 'viewDidDisappear'
А в новом контроллере представления я "пытаюсь"установить тот же путь наблюдателя 'ref.child (id) .child ("isLocked"). Наблюдать (.value, с: {snapshot in'
, который, я думаю, removeAllObservers()
превосходит настройку новогонаблюдатель !? Как мне с этим справиться!?