отбросить первый элемент indexpath-> indexpath - 1 - PullRequest
0 голосов
/ 27 мая 2020

Согласно документации, это должно быть так просто:

     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) кажется идеальным, но он не работает. Я Exe c - разворачивание значения, которое оказалось нулевой ошибкой.

1 Ответ

1 голос
/ 28 мая 2020

Если вы хотите, чтобы indexPath переместился назад на 1, используйте свойства .row и .section, чтобы получить компоненты, а затем используйте инициализатор IndexPath(row:section:) для создания newIndexPath:

let newIndexPath = IndexPath(row: indexPath.row - 1, section: indexPath.section)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...