NSIndexPath *path = [tableView indexPathForSelectedRow];
В приведенной выше строке будет выброшено EXC BAD ACCESS , если продажа не выбрана, поэтому отслеживайте выбранную ячейку с помощью переменной экземпляра NSIndexPath и только отмените выбор , когда она фактически выбранас isSelected свойством ячейки.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:someIndexPath];
if(cell.isSelected) {
[tableView deselectRowAtIndexPath:someIndexPath animated:YES];
}