我有两个观点。第一个视图包含文件夹名称和搜索按钮的列表。 (tableview),第二个视图用户可以搜索我的服务器中的文件并可以下载它。第二个tableview有文件名,进度条和下载按钮。
当用户在第一个视图中单击搜索按钮,然后搜索文件名并单击下载按钮,下载按钮进度开始。此过程正常,我可以看到进度值的变化。
但是当用户回到第一个视图然后打开第二个视图并开始下载过程时,我无法更改进度条值。
我可以看到我的代码工作并尝试更新tableview行,但事实并非如此。 (我可以看到我的代码调用了cellForRowAt indexPath方法)
我的代码有什么问题? 为什么我无法更新tableview行中的值?
我的更新代码:
let indexPath = IndexPath(row: 2, section: 0)
tableView.beginUpdates()
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.automatic)
tableView.endUpdates()
我首先更新模型而不是调用reload tableview行。代码:
dataArray[cellNum].progressValue = taskProgress
// Tableview cellforRowAt:
let identifier = "Cell"
let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as! SearchListCell
cell.circularProgress.angle = dataArray[indexPath.row].progressValue
cell.titleLabel.text = dataArray[indexPath.row].title
return cell
我还尝试用以下行更新行:
let cell = self.tableView.cellForRow(at: indexPath) as! SearchListCell!
let progressInfo = self.dataArray[indexPath.row]
cell?.circularProgress.angle = progressInfo.progressValue
答案 0 :(得分:0)
您如何处理进度条值?
您可以执行包含条形值的变量,然后在cellForRowAt中,将单元格进度条值设置为该变量。如果您已经这样做了,请向我们展示更多代码。希望它有所帮助!