(Firebase) imprime un número incorrecto de usuarios en la base de datos al contar usuarios en la matriz

Estoy recuperando una instantánea de todos los usuarios en mi base de datos de Firebase. Después de agregar a todos mis usuarios de mi nodo "usuarios" de mi base de datos a una matriz de usuarios, intento imprimir el recuento de usuarios (que debería ser 12) y en su lugar dice que es 0.

Agregué un punto de interrupción en la llave de cierre de la instrucción if que me muestra que el recuento de usuarios alcanza 12. Sin embargo, cuando llega el momento de imprimir este número, es cero. Pasar un montón de veces es solo un montón de código de ensamblaje que no me dice nada.

Llamo a esta función en el método viewDidLoad () e intenté imprimir el recuento de usuarios después de que se llama a esta función, además de imprimirla dentro de la función y todavía es 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)
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta