tableview - selector no reconocido didSelectRowAtIndexPath

He estado teniendo un problema con mi aplicación fallando al seleccionar algo en el tableView. Esto no es 100% reproducible, pero ocurre con frecuencia.

Lo que sucede es dentro de mi clase EventListViewController (una subclase de UITableViewController), sobrescribo la función didSelectRowAtIndexPath porque también estoy usando una barra de búsqueda en esta clase, y quiero que solo seleccione cuando no esté buscando.

El código se ve así:

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

Sin embargo, cuando se bloquea, se interrumpe a excepción y este es el mensaje que recibo, en la línea que llama a la función super:

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

Imprimí algunas cosas en el depurador y todo me parece bien:

(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]

(El tableView tiene 2 secciones, y la segunda sección tiene 2 entradas)

¿Alguien tiene alguna idea de lo que está pasando? Déjame saber si necesitas más información.

Nota: después de una investigación adicional, descubrí que esto es 100% reproducible con los siguientes pasos: 1: cargue la aplicación y haga clic en cualquiera de las dos entradas. 2: vuelva al controlador tableView 3: toque ABAJO ambas entradas, en el espacio en blanco donde no debería haber una celda. La aplicación se bloqueará, pero observe que la indexPath no dice que está tratando de seleccionar una celda que está fuera de los límites de tableView, solo que el método tableView didSelectRowAtIndexPath no existe

Respuestas a la pregunta(1)

Su respuesta a la pregunta