tableview - нераспознанный селектор didSelectRowAtIndexPath

Я столкнулся с проблемой сбоя моего приложения при выборе чего-либо в tableView. Это не воспроизводимо на 100%, но это происходит относительно часто.

Что происходит внутри моего класса EventListViewController (подкласс UITableViewController), я перезаписываю функцию didSelectRowAtIndexPath, потому что я использую панель поиска и в этом классе, и я хочу, чтобы она выбиралась только тогда, когда вы не выполняете поиск.

Код выглядит так:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(!searching)
        [super tableView:tableView didSelectRowAtIndexPath:indexPath];
}

Тем не менее, когда происходит сбой, я получаю сообщение об исключении, и это сообщение я получаю в строке, которая вызывает суперфункцию:

[EventListViewController tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0xa648e50

Я распечатал некоторые вещи на отладчике, и все это выглядит хорошо для меня:

(lldb) po 0xa648e50
(int) $1 = 174362192 <EventListViewController: 0xa648e50>

(lldb) po self
(EventListViewController *) $2 = 0x0a648e50 <EventListViewController: 0xa648e50>

(lldb) po tableView
(UITableView *) $3 = 0x070fd400 <UITableView: 0x70fd400; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6e46750>; contentOffset: {-0, -0}>

(lldb) po indexPath
(NSIndexPath *) $4 = 0x06e8caf0 <NSIndexPath 0x6e8caf0> 2 indexes [1, 1]

(TableView имеет 2 раздела, а второй раздел имеет 2 записи)

У кого-нибудь есть идея, что происходит? дайте мне знать, если вам нужна дополнительная информация.

Примечание: после дополнительных исследований я обнаружил, что это воспроизводимо на 100% с помощью следующих шагов: 1: загрузите приложение и нажмите на любую из двух записей. 2: Вернитесь к контроллеру tableView. 3: нажмите НИЖЕ обе записи в пустом пространстве, где не должно быть ячейки Приложение будет аварийно завершено, но обратите внимание, что indexPath не говорит, что пытается выбрать ячейку, находящуюся за пределами tableView, только то, что метод tableView didSelectRowAtIndexPath не существует.

Ответы на вопрос(1)

Ваш ответ на вопрос