我正在写一个函数来循环遍历UITableViewController中的所有单元格。这是我到目前为止:Int与IndexPath的烦恼
var i = 0
while (i < tableView.numberOfRows(inSection: 0)) {
i += 1
let cell = tableView.cellForRow(at: i-1)
}
一切正常循环,直到我试图获得单元格。它期望输入类型IndexPath
,但是我传入一个Int。每当我强制它像IndexPath这样的:
let cell = tableView.cellForRow(at: i-1 as! IndexPath)
我收到一个警告说,它总是会失败/总是返回零。有没有更好的方法来做到这一点,还是我错过了一个关键的步骤。任何帮助是极大的赞赏。提前致谢!
编辑(更多解释):所有单元格都是自定义分类单元格,并带有特定变量。我想循环遍历所有单元格并获得该值。
let visibleCells = tableView.visibleCells
for aCell in visibleCells {
print(aCell.question?.text) <------- this is the value I want
}
与您的问题无关,但我几乎可以保证您尝试循环遍历所有单元格是错误的操作。这个循环的目标是什么? – rmaddy
可能更好地使用'tableView.visibleCells',这取决于你的实际目标,就像rmaddy刚刚问过的那样。 –
所有单元格都是自定义分类单元格,并带有特定变量。我想循环遍历所有单元格并获得该值。 –