Aquí podría ser tu PUBLICIDAD


Vista de tabla predeterminada: eliminación de secciones

votos
3

Mi aplicación contiene una vista de tabla con filas y secciones.
Cuando elimino el último elemento de una sección, elimino la sección. Funciona bien.
Pero, cuando muevo la última fila de una sección a otra, recibo un error.

Aquí está mi código en ambos casos:

[categoryArray removeObjectAtIndex:indexPath.section];
[tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationTop];

Aquí está el error que ocurre en moveRowAtIndexPath: fromIndexPath: toIndexPath:

2009-03-11 17:56:09.524 Test[5140:20b] 1
2009-03-11 17:56:09.525 Test[5140:20b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (5) beyond bounds (5)'

¡Cualquier ayuda sería genial!

Publicado el 12/03/2009 a las 17:09
fuente por usuario lapel
En otros idiomas...        العربية       

3 respuestas

votos
2

Bueno, de hecho, mi código no está tratando de acceder a un elemento. Creo que el error proviene de un método UITableView (que no sé porque solo tenemos acceso a los archivos de encabezado de la SDK). El problema ocurre en este punto:

[tableView deleteSections:[NSIndexSet indexSetWithIndex:fromIndexPath.section] withRowAnimation:UITableViewRowAnimationTop];
Respondida el 12/03/2009 a las 05:39
fuente por usuario lapel


Aquí podría ser tu PUBLICIDAD


votos
0

Tenía este problema y yo sólo lo resolvió. En mi caso, yo estaba usando datos básicos, y tuve que envolver la lógica de supresión en

    [tableView beginUpdates];
    ...
    [tableView endUpdates];

Tuve que envolver todo; desde antes de que he eliminado el / sección de datos hasta después de que había ahorrado el contexto. Espero eso ayude.

Respondida el 10/07/2012 a las 12:17
fuente por usuario Gazzini

votos
0

Parece que estás intentando acceder al sexto elemento de una matriz de cinco elementos. ¿Estás usando el tamaño de matriz como el índice sin restar 1?

Respondida el 12/03/2009 a las 05:19
fuente por usuario SSteve