删除 indexpath 的第一个元素-> indexpath - 1

drop the first element of the indexpath-> indexpath - 1

根据文档,这应该很简单:

     let newIndexPath = indexPath.dropFirst(1). //This is  not working though. 

我有一个非常复杂的表视图(我需要在 cellForRow 中进行更改,其他任何东西都需要太大的重构,更不用说它不是很安全。)

几个部分 - 我现在正在处理的部分有不同的自定义单元格。我用一个枚举处理所有不同的单元格。对于我现在正在处理的案例,我的数据源(广泛且现在不可能重构)只说明了这种类型的单元格(不是本节中的所有其他单元格)。我当然试过

[indexPath.row - 1]//And this works!!  But is is not gonna fly in code review to add this as an index path to all my methods to configure this group of cells. 

如何在同一部分重新开始 indexPath?所以我的新单元格组可以响应数据源的 indexPath 和所有其他方法。

我在想 indexPath.dropFirst(1) 似乎很理想,但它不起作用。 I an Exec - unwrapping a value found to be nil 错误。

如果您希望 indexPath 向后移动 1,请使用 .row.section 属性获取组件,然后使用 IndexPath(row:section:)创建 newIndexPath:

的初始化器
let newIndexPath = IndexPath(row: indexPath.row - 1, section: indexPath.section)