gpt4 book ai didi

ios - UITableView.visibleCells.contains(JDHeaderTableViewCell()) 总是返回 false

转载 作者:行者123 更新时间:2023-11-30 10:55:53 24 4
gpt4 key购买 nike

当我打印可见单元格时,它会显示两种类型的单元格,请参见下文po cells
▿ 2 elements
- 0 : <David.JDHeaderTableViewCell: 0x7fc6880e7a00; baseClass = UITableViewCell; frame = (0 0; 375 210); autoresize = W; layer = <CALayer: 0x600000600200>>
▿ 1 : <David.JDContainerTableViewCell: 0x7fc68a810000; baseClass = UITableViewCell; frame = (0 250; 375 792); autoresize = W; layer = <CALayer: 0x600000655540>>

但是当我尝试获取单元格对象时,它返回 false

(lldb) po cells.contains(JDHeaderTableViewCell())

我尝试过以下几行:

let indexPath = IndexPath(row: 0, section: 0)
let cell = self.jdTableView.cellForRow(at: indexPath) as! JDHeaderTableViewCell

但我需要先检查然后需要特定的单元格。

最佳答案

contains 方法用于检查对象是否包含在给定数组中,这里您将创建新对象作为 JDHeaderTableViewCell() 并检查它是否包含在是否给出可见细胞。当你创建了新的空对象时,很明显它将返回 false。

如果您想从可见单元格获取 JDHeaderTableViewCell 类型的单元格并使用该单元格,请执行以下操作:

let headersCells = tableView.visibleCells?.filter({ (cell) -> Bool in
return cell is JDHeaderTableViewCell
})

如果 visibleCells 没有 JDHeaderTableViewCell,则 headerCells 将为 nil。如果它包含数组将包含所有该对象。现在您必须获取您想要的索引。

关于ios - UITableView.visibleCells.contains(JDHeaderTableViewCell()) 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53954533/

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