TableView删除单元格错误

时间:2018-07-06 14:37:55

标签: ios swift uitableview

我通过以下两种方法更新单元格的状态

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    let model = dataSource.safeObjectAtIndex(indexPath.row)
    model?.handleProgress { [weak cell] (callBackModel) in
        guard let cell = cell as? Cell else { return }
        cell.updateProgress(model: callBackModel)
    }
}

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
   let model = dataSource.safeObjectAtIndex(indexPath.row)
    model?.handleProgress { _ in }
}

通过以下方法删除单元格时,发现某些单元格停止更新。

  func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

    guard editingStyle == .delete,
        let model = dataSource.safeObjectAtIndex(indexPath.row) else { return }

    dataSource.remove(at: indexPath.row)
    tableView.deleteRows(at: [indexPath], with: .automatic)
    model.cancel()
}

在模型中,我添加了一个计时器,每秒更改其progress属性。通过progressHandler调出。

如何删除这些ReusableCells而不影响其他单元的状态更新?

0 个答案:

没有答案