在 swift uiTableView 中调用 reloadData() 后,旧项目剩余,新项目未显示
Posted
技术标签:
【中文标题】在 swift uiTableView 中调用 reloadData() 后,旧项目剩余,新项目未显示【英文标题】:after call reloadData() in swift uiTableView, old items remaining and new ones not shown 【发布时间】:2018-07-13 14:39:39 【问题描述】:我在TabBar
中有一个TableView
,它的数据是从服务器获取的。加载数据后,我调用reloadData()
,所有项目都在第一时间显示。当用户更改TabBar
的选项卡并返回当前选项卡时,应更新TableView
的项目。但是当我第二次调用reloadData()
时,旧数据不会被删除,新数据不会显示出来。
我的代码是:
if response.result.isSuccess // Response is success
if let estateFileResponse: EstateFileResponse = response.result.value // Response is type of EstateFileResponse
// Dismiss loader
ShowHUD.sharedInstance.dismiss()
// Append estateFile items to items list
if estateFileResponse.estateFileList.count > 0
self.items = estateFileResponse.estateFileList
self.tableView.reloadData()
此代码仅第一次工作。
【问题讨论】:
调用 viewWillAppear 中的所有方法而不是 viewDidLoad 【参考方案1】:尝试同步重新加载数据
DispatchQueue.main.async
self.tableView.reloadData()
【讨论】:
以上是关于在 swift uiTableView 中调用 reloadData() 后,旧项目剩余,新项目未显示的主要内容,如果未能解决你的问题,请参考以下文章
在 swift uiTableView 中调用 reloadData() 后,旧项目剩余,新项目未显示
Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭]