override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if specialIndex?.compare(indexPath) == ComparisonResult.orderedSame {
print("will display \(cell.selectionStyle.rawValue)")
print("selected: \(cell.isSelected) \(cell.isHighlighted)")
cell.isSelected = false
print("selected: \(cell.isSelected) \(cell.isHighlighted)")
}
}
Из метода willDisplay видно, что для ячейки устанавливается значение «Выбрано» до ее отображения.
Но я проверяю значения в cellForRow, и это действительно не выбрано
Итак, где-то между cellForRow и willDisplay, ОС устанавливает мою ячейку как выбранную, когда я прокручиваю представление таблицы
Даже когда я выбрал значение false в Будет отображаться, выбор будет отображаться в течение доли секунды.
Как это исправить?