(Firebase) imprimindo número incorreto de usuários no banco de dados ao contar usuários na matriz

Estou recuperando um instantâneo de todos os usuários no meu banco de dados do Firebase. Depois de anexar todos os meus usuários do nó "users" do meu banco de dados a uma matriz de usuários, tento imprimir a contagem de usuários (que deve ser 12) e diz que é 0.

Adicionei um ponto de interrupção na chave de fechamento da instrução if, que mostra que a contagem de usuários atinge 12. No entanto, na hora de imprimir esse número, ele é zero. Percorrer várias vezes é apenas um monte de código de montagem que não me diz nada.

Eu chamo essa função no método viewDidLoad () e tentei imprimir a contagem de usuários depois que essa função é chamada, além de imprimi-la na função e ainda é 0.

func getUsers() {

    let ref = Database.database().reference().child("users")

    ref.observe(.childAdded, with: { (snapshot) in
        if let dictionary = snapshot.value as? [String: AnyObject] {

            let user = User()

            user.id = snapshot.key
            user.setValuesForKeys(dictionary)                
            self.users.append(user)
        }

    }, withCancel: nil)

    print(users.count)
}

questionAnswers(2)

yourAnswerToTheQuestion