Я обращаюсь к данным, хранящимся в базе данных реального времени firebase, но после доступа к данным я хочу вызвать метод, который настроит представление.
func fetchPostData(){
Database.database().reference().child("Posts").observe(.childAdded, with: {(snapshot) in
if let dictionary = snapshot.value as? [String: Any]{
let post = Posts()
if let val = dictionary["name"] as? String{
post.objName = val
}
if let val = dictionary["price"] as? String{
post.objPrice = val
}
if let val = dictionary["summary"] as? String{
post.objSummary = val
}
if let val = dictionary["username"] as? String{
post.postUsername = val
}
self.posts.append(post)
}
setUpView()
}, withCancel: nil)
}
Проблема заключается в том, что, как и все API-интерфейсы Firebase, он асинхронный, поэтому метод будет возвращен сразу после вызова. Но я хочу, чтобы setUpView()
вызывался только один раз, после того, как все данные были обработаны и сохранены. Я попытался проверить, существует ли версия этой функции, которая имеет завершение, и, к сожалению, ее не существует.
Так есть ли способ, что я могу вызвать этот метод только после того, как все данные были сохранены?
Пожалуйста, помогите, мне это нужно !!!
Заранее спасибо