无法自动更新tableview中的子值

时间:2017-11-24 03:59:40

标签: ios swift uitableview firebase

有没有人知道每次更改时如何自动将子值更新为tableView?我必须终止应用程序,重新启动它时,我能够看到更新的值。如何在不终止应用程序的情况下更新这些内容?

var ref: DatabaseReference?
var databaseHandle: DatabaseHandle?
var postData = [String]()

class TableViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    ref = Database.database().reference()

        databaseHandle = ref?.child("Posts").observe(.childAdded, with: { (snapshot) in
            let post = (snapshot.value as AnyObject).description
            if let actualPost = post {
            postData.append(actualPost)
            self.tableView.reloadData()
            }

        })
    }

1 个答案:

答案 0 :(得分:0)

你应该改变

self.tableView.reloadData()  

DispatchQueue.main.async {
  self.tableView.reloadData()
}

可能有用。因为所有与UI相关的工作都应该在主队列中进行