Swift Reloaddata不会调用cellForRowAtIndexPath

时间:2017-02-26 13:20:29

标签: ios swift uitableview tableviewcell

我有一个tableview,我正在尝试从我的服务器下载文件。当用户第一次打开tableview页面并下载文件时一切正常。我可以在tableview单元格中显示进度条值。委托函数我正在更新进度值,然后调用tableView.reloadData()。在第一次一切正常。

但是当我回到上一页时,再次打开tableview然后单击下载按钮我无法更新tableview。 tableView.reloadData()使用正确的数据计数调用numberOfRowsInSection。但不能调用cellForRowAtIndexPath。

此外,我尝试使用以下代码,它也不起作用

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

当我使用下面的代码时,它会调用cellForRowAtIndexPath函数,但现在更新我的值。 (当我打印单元格值时,它显示正确的值,但现在显示在屏幕上)

let indexPath = IndexPath(row: self.clickSongRowIndex[cellNum], section: 0)
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.automatic)

0 个答案:

没有答案