Swift - наблюдатель Firebase на .childchanged не распознается - PullRequest
0 голосов
/ 08 декабря 2018

Вот код ниже, он не будет выполнен, даже если я изменю дочерний узел с именем «токены» в Firebase через приложение или напрямую в Firebase!?

handle = ref.child("Users").child(uid).child("tokens").observe(.childChanged, with: { snap in

                print("Changed Token Count: ", snap.value!)

                if snap.value is NSNull {

                    // Child not found

                } else {

                    if (currTokenCount < snap.value as! UInt) {

                        print("Value increased....")

                    } else {

                        print("Value decreased....")

                    }

                }

            }) { (error) in

                print(error.localizedDescription)

            }

1 Ответ

0 голосов
/ 08 декабря 2018

Я предполагаю, что у вас есть структура данных, подобная этой:

Users
  uid1
    tokens: "value of tokens"

Если вы хотите прослушать изменения token определенного пользователя в вышеприведенной структуре, используйте .value listener:

handle = ref.child("Users").child(uid).child("tokens").observe(.value, with: { snap in

    print("Changed Token Count: ", snap.value!)

    if snap.value is NSNull {
        // Child not found
    } else {
        if (currTokenCount < snap.value as! UInt) {
            print("Value increased....")
        } else {
            print("Value decreased....")
        }
    }
}) { (error) in
    print(error.localizedDescription)
}

.child *listeners are only used when you have child nodes under токенов, например:

Users
  uid1
    tokens
      token1: "value of token1"
      token2: "value of token2"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...