Tocar en la barra de búsqueda causa una excepción, pero solo en un dispositivo real
Frecuentes
Visto 96 veces
0
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;
}
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas iphone objective-c ios xcode ios-simulator or haz tu propia pregunta.
¿Tienes algún código? Siempre puedes perfilar tu aplicación en la SIM con el instrumento zombies. Parece ser algo así. - miya
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;) - user1451996
Lo siento, quise decir perfil usando el dispositivo y si es posible mostrar algo de su código aquí para que podamos ayudarlo. - miya
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. - user1451996