我讀過很多解決方案,他們沒有幫助我tableView.reloadData不更新UI
我有添加到我的viewcontroller的表視圖。我把它作爲控制器的出口。
@IBOutlet weak var tableView: UITableView!
在viewDidLoad中我加入
tableView.dataSource = self
tableView.delegate = self
我有方法表的數據更新:
當我拉來刷新被執行private func updateModel() {
guard let chatUid = UsersManager.sharedInstance.currentChatUID() else { return }
RealtedUserApi().getRelatedUser("\(chatUid)", successHandler: { (relatedUsers) in
dispatch_async(dispatch_get_main_queue()) {
self.relatedUsers = relatedUsers
self.tableView.reloadData()
}
}) { (error) in
print(error)
}
}
,但UI ISN」 t更新
我把breakepoint放在我的表格單元格中,並且有來自服務器的數據(例如用戶的狀態)但用戶界面不 - 用戶在視圖中的狀態保持不變在單元格的標籤
有沒有人有任何想法如何解決這個問題?
p.s. relatedUsers是對象RelatedUser的數組。它是我的tableView的源代碼。 RelatedUser有狀態屬性,它在服務器上改變,我需要在細胞更新相應的標籤文本
您的chatUid可能爲空或您的相關用戶爲空。您可以嘗試將打印(relatedUsers)發送到您的調度異步,以檢查是否有顯示內容 –
relatedUser不爲零。我看到了行。當它在服務器上發生更改時,我需要更新單元格中的相應標籤文本,並且更新了relatedUsers,但UI不是 – Ilya
「numberOfRows」方法返回什麼? – Santosh