我想调用Shell
并等到阻止用户数组完成后才调用fetchArrayOfUsersBlockingTheCurrentUser()
,因为我想在加载用户之前解除被阻止的用户fireStoreFetchUsers()
在屏幕上。
到目前为止,屏幕在设置阵列之前加载所有用户,仅在离开屏幕并返回屏幕时才起作用
我已尝试过设置,但它多次调用usersarray
将多个同一个用户放在屏幕上。
以下代码:
fetchusers
并且函数fireStoreFetchUsers()基本上就是这样;
///从数据库中提取用户
/// users.append(用户)
//重新加载数据
答案 0 :(得分:1)
不要等待。将fireStoreFetchUsers()
移至完成块。
func fetchArrayOfUsersBlockingTheCurrentUser() {
guard let uid = Auth.auth().currentUser?.uid else { return }
let db = Firestore.firestore()
let docRef = db.collection("Users").document(uid).collection("Users Blocking Me")
docRef.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let d = document.documentID
self.UsersBlockingCurrentUserArray.append(d)
}
self.fireStoreFetchUsers()
}
}
}
请遵守变量名称以小写字母开头的命名约定