Я бы предложил вам использовать завершение вместо DispatchGroup. В будущем вы будете использовать его гораздо чаще, поэтому лучше освоите его:
PS: присвойте именам ваших функций и имен переменных верблюжий случай. Это норма в языке Swift.
func readMyData(completion: () -> ()) {
let data = Firestore.firestore().collection("users").document("LdGcPDsSVEtYyrGIHR1D")
data.getDocument { (document, error) in
for item in (document?.data())! {
self.myArray.append(item.key) //using Array as the name of an array is bad practice.
}
print(myArray)
completion()
}
}
Когда вы будете вызывать эту функцию, вы сможете выполнять следующее действие при вызове завершения, таким образом гарантируя, что все ваши манипуляции с данными, в этом случаедобавление к вашему массиву завершено перед выполнением следующих действий.