gpt4 book ai didi

ios - reloadRows 将创建新的单元格

转载 作者:可可西里 更新时间:2023-11-01 02:00:48 24 4
gpt4 key购买 nike

当我调用这段代码时:

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 会创建一个新的 cell 吗?为什么?我认为如果单元格存在,则无需创建。

最佳答案

可重复使用的电池试图重复使用从屏幕中取出的电池

例如,您要显示 10 个项目。但是,如果您的手机只能显示 5 个单元格,那么当您向下滚动到第 6 个单元格时,它会重复使用第一个单元格(因为它超出了视野)并创建第 6 个单元格。

但请记住,重用并不意味着它会重置您为第一个单元格设置的所有属性。例如,您将第一个单元格的 isUserInteractionEnable 关闭为 false,然后当第 6 个单元格重新使用第一个单元格时,第 6 个单元格的 isUserInteractionEnable 保持为 false。

关于ios - reloadRows 将创建新的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com