如何在Firebase observeEvent块iOS中更新UI

时间:2017-03-20 16:50:19

标签: ios swift user-interface firebase-realtime-database grand-central-dispatch

我在网上搜索过,但没有找到与我的问题相关的答案。希望有人可以帮助我。提前致谢! 这是Firebase observeEvent函数。

ref.child("path").observeSingleEvent(of: .value, with: { (snapshot) in 
// here I have a for loop
for (_, dict) snapshot.value as! NSDictionary {
    // do something...
    //
    // here I would like to do some UI updating, like a progress bar, or just as simple as update the text in a label
    label.text = "an object fetched."
}
// I used to do some UI update here, and it works, like tableview.reloadData(), but this time I would like the UI updating happen in that for loop

}) { (error) in
    print(error.localizedDescription)
}

有人可以帮我吗?我试过了

DispatchQueue.main.async {
 // UI update here but it doesn't work
}

希望有人可以帮助我,非常感谢!

1 个答案:

答案 0 :(得分:0)

Firebase事件回调在主/ UI线程上触发。您不需要通过调度队列,但只需从回调中更新UI。