一尘不染

遍历给定部分ID的所有UITableCell

swift

使用Swift,如何遍历UITableCells给定的所有部分ID(例如:第2部分中的所有单元格)?

我只看到此方法:tableView.cellForRowAtIndexPath,在给定绝对索引的情况下返回1个单元格,因此无济于事。

有没有一种优雅轻松的方法?

注意:我想以 编程方式将 某个节中所有单元格的AccesoryType设置为None
,例如:单击按钮后或发生了某些事情之后(发生的事情与该问题无关)

我有UITableView的引用和本节的索引。


阅读 196

收藏
2020-07-07

共1个答案

一尘不染

要回答我自己的问题: “如何遍历UITableCells给定的所有部分ID?”

要遍历一节的所有UITableCell,section必须使用两种方法:

  • tableView.numberOfRowsInSection(section)
  • tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section))

因此迭代如下所示:

// Iterate over all the rows of a section
for (var row = 0; row < tableView.numberOfRowsInSection(section); row++) {
    var cell:Cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section))?

   // do something with the cell here.
}

在我的问题的最后,我还写了一个注释:“ 注意:我想以编程方式将一个节中所有单元格的AccesoryType设置为None
”。请注意,这只是一个注释,而不是问题。

我最终这样做是这样的:

// Uncheck everything in section 'section'
for (var row = 0; row < tableView.numberOfRowsInSection(section); row++) {
    tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section))?.accessoryType = UITableViewCellAccessoryType.None
}

如果有更好的解决方案,请继续发布。

注意:我的表使用静态数据。

2020-07-07