Как узнать, какой дочерний элемент обновляется в типе события childChanged базы данных реального времени в swift 4 - PullRequest
0 голосов
/ 23 февраля 2019

Предполагая, что в моей базе данных Firebase RealTime есть дочернее имя Users, у которого также есть дочерний элемент, являющийся электронным письмом, подобным этому "christianLiz@gmail.com", в электронном письме дочернего элемента также есть дочерний элемент, называемый именем, возрастом и страной.

Я добавил Наблюдение за событиями на потомке, изменил фрагменты кода так.

 ref.child("USERS").child("christianLiz@gmail,com").observe(.childChanged, with: { snapshot in

        if snapshot.exists(){
            let value = snapshot.value as? NSDictionary
            if value!["name"] != nil{
                print("here")
            }else{
                print("not here")
            }

    }){ (error) in
        print("")
    }

Когда я проверяю после изменения значения страны, приложение вылетает, и причиной является это значение! ["Name"].Теперь я знаю, что событие childChanged возвращает только дочерний элемент, который изменился в моем сценарии тестирования «страна», поэтому другие значения отсутствуют в моментальном снимке, но я хочу проверить, какое из них является обновленным именем, возрастом или страной.Как я могу изменить код выше, чтобы достичь этого.

1 Ответ

0 голосов
/ 23 февраля 2019

Используйте hasChild, чтобы проверить, существует ли ребенок:

if snapshot.hasChild("country"){
      print("found")
    } else {
      print("not found")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...