无法自动更新表格视图中的子值

Posted

技术标签:

【中文标题】无法自动更新表格视图中的子值【英文标题】:Cannot auto update child values in tableview 【发布时间】:2017-11-24 03:59:40 【问题描述】:

有谁知道每次更改时如何将子值自动更新为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()
            

        )
    

【问题讨论】:

您是在谈论更新单元格吗?使用 reloadData() 更新 tableViewCells 中的数据,在此处查看更多信息 developer.apple.com/documentation/uikit/uitableview/… 【参考方案1】:

你应该改变

self.tableView.reloadData()  

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

这可能有效。因为所有与 UI 相关的工作都应该发生在主队列中

【讨论】:

以上是关于无法自动更新表格视图中的子值的主要内容,如果未能解决你的问题,请参考以下文章

无法自动更新表格视图

在缩放时,使用UIWebView scrollView更新UITableViewCell中的约束无法正常工作

从模型中自动更新 TableView 中的行

如何在firebase自动生成的密钥下编辑子值

SwiftUI 将数据传递给子视图

C# 无法访问 Newtonsoft.Json.Linq.JProperty 上的子值