Tocar en la barra de búsqueda causa una excepción, pero solo en un dispositivo real

grabar en mi barra de búsqueda provoca la siguiente excepción:"'NSInvalidArgumentException', reason: '-[NSIndexPath isEqualToString:]:unrecognized selector sent to instance 0x1d52d9b0'"

Bueno, al hacerlo, usando el simulador, todo funciona bien. Pero en un dispositivo real, la aplicación falla.

Para la depuración, coloqué un punto de interrupción en cada método en el controlador de vista correspondiente, pero no se llama a ninguno de mis métodos después de grabar antes de que la aplicación se bloquee. Después de eso traté de implementar todos los métodos de UISearchBarDelegate protocolo y de UISearchDisplayDelegate protocolo. Nuevamente coloqué un punto de interrupción y algunos NSLog salida de depuración. Solo antes del accidente - (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller se llama.

¿Alguna idea de dónde buscar o qué probar? No entiendo por qué la excepción no se activa en el simulador. Realmente me pregunto qué está pasando;)

Aquí está el código que causa el error:

        NSString *labelText;
if ([self.searchDisplayController isActive]) {
    if (self.filteredStrings > 0) {
        labelText = [self.filteredStrings objectAtIndex:indexPath.row];
    }
}
else
{
     ...
}

    cell.textLabel.text = labelText;

Ok y aquí está el código fijo:

            NSString *labelText;
if ([self.searchDisplayController isActive]) {
    if (self.filteredStrings > 0) {
        labelText = [self.filteredStrings objectAtIndex:indexPath.row];
        cell.textLabel.text = labelText;
    }
}
else
{
     ...
     cell.textLabel.text = labelText;
}

preguntado el 12 de junio de 12 a las 20:06

¿Tienes algún código? Siempre puedes perfilar tu aplicación en la SIM con el instrumento zombies. Parece ser algo así. -

Bueno, mi código no se llama en ese momento. La creación de perfiles en SIM no ayudará, el problema solo existe en dispositivos reales. Si me equivoco con eso, siéntete libre de corregirme;) -

Lo siento, quise decir perfil usando el dispositivo y si es posible mostrar algo de su código aquí para que podamos ayudarlo. -

Bien, lo descubrí. El único método que no rompí fue - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath porque hay muchas celdas. Traté de asignar una cadena que no se inicializó a la etiqueta de texto de las celdas. Pero todavía me pregunto por qué funcionó usando el simulador. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.