Во-первых, ваш код в своем текущем состоянии устанавливает цвет всех ячеек, индексы которых превышают от 4 до blue
, а не только последние 4 ячейки. Вам нужно изменить свое состояние.
И после этого вам нужно добавить оператор else для обработки цвета других ячеек, ячеек, которые не удовлетворяют условию. Это потому, что ячейки используются повторно, поэтому им всегда нужно устанавливать свой цвет.
Итак, ваш код должен выглядеть примерно так:
if indexPath.row > numberOfRows - 4 {
cell.label.textColor = .blue
} else {
cell.label.textColor = .black
}
Или, как уже упоминалось @jarvis, вы можете использовать троичный оператор, чтобы сделать ваш код более компактным, например:
cell.label.textColor = indexPath.row > numberOfRows - 4 ? .blue : .black
numberOfRows
- количество строк в табличном представлении.