当我调用此代码时:
tableView.reloadRows(at: [IndexPath(item: index, section: 0)], with: .none)
tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: changeBankCardTableViewCellReuseId) as! MyCell
}
这个出队的单元格是新单元格,即使这个单元格正在显示(我不想创建一个新的,因为我的单元格有一个计时器,它会改变我的标题)
所以我改变了我的代码,像这样:
let indexPath = IndexPath(item: index, section: 0)
if let cell = bundTableView.cellForRow(at: indexPath),
cell is ChangeBankCardTableViewCell {
let myCell: ChangeBankCardTableViewCell = cell as! MyCell
/// do some thing
}
但是,这太长了,myCell 必须导出函数才能调用。
dequeueReusableCell
会创建一个新的细胞吗?为什么?我认为如果单元格存在,则无需创建。