Imprimir datos desde Firebase

Aquí está mi código:

@IBAction func submitAnswer(_ sender: Any) {
    getData()
    print(array)
}

func getData() {
    let ref = Database.database().reference().child("hobbies")
    let query = ref.queryOrdered(byChild: "cost").queryEqual(toValue: "low" )
    query.observe(.childAdded, with: { snapshot in
        let hobbyName = snapshot.childSnapshot(forPath: "hobbyName").value as? String
        self.array.append(hobbyName!)
    })
    { error in
        print(error)
    }
}

La idea aquí es que cuando presiono el botón Enviar, la consola imprimirá los datos de Firebase. Después de iniciar la aplicación, cuando la presiono, la consola imprime una matriz vacía. Cuando lo presiono nuevamente, la consola imprimió el resultado que quería. Quiero que imprima el resultado correcto en el primer intento. Cómo hago esto ?

Respuestas a la pregunta(1)

Su respuesta a la pregunta