我阅读了很多解决方案,但它们对我没有帮助
我有已添加到我的 View Controller 中的 TableView 。我将它作为 socket 拖到 Controller 上。
@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 未更新
我在表格单元格中放置了断点,并且来自服务器的数据(例如用户的状态)已更新,但 UI 没有 - View 中的用户状态在单元格标签中保持不变
有人知道如何解决这个问题吗?
附: relatedUsers 是对象RelatedUser 的数组。它是我的 tableView 的来源。相关用户具有状态属性,该属性在服务器上更改,我需要更新单元格中的适当标签文本
最佳答案
这个问题太愚蠢了,所以我感到羞耻:
我在dequeueReusableCellWithIdentifier
block 中评论了部分代码,其中也有return cell
,但忘记了这一点。
但在 cellForRowAtIndexPath
的最后,我返回 UITableViewCell()
。
通常在这种情况下应用程序会崩溃,但在我的情况下却没有。所以我可以看到包含来自服务器的数据的行,但更新不起作用。
关于swift - tableView.reloadData 不更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984608/