didDeselectRowAt
(и willDeselectRowAt
) вызываются, только если пользователь нажимает, чтобы выбрать строку, в то время как другая строка уже выбрана.
НЕ вызывается при начале редактирования или при отмене выбора / выбора с помощью кода с помощью .deselectRow(at: ...
или .selectRow(at: ...
и т. Д.
Одним из вариантов будет реализация willBeginEditingRowAt
:
func tableView(_ tableView: UITableView, willBeginEditingRowAt indexPath: IndexPath) {
if let iPath = tableView.indexPathForSelectedRow {
print("the row at \(iPath) was selected...")
// do stuff for that row
}
}
В зависимости от того, что вам нужно сделать, это может работать, а может и не работать в вашем случае.