Ayuda para insertar una nueva sección en una TableView

votos
5

Todos siguen escribiendo sobre borrar una sección. Bueno, parece que no puedo agregar uno.

Actualmente, estoy intentando así (que falla con NSInternalInconsistencyException):

UITableView *tv = (UITableView *) self.tableView;

if ([tv numberOfSections] == 1)
{
     [tv beginUpdates];
     [tv insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];

     NSLog(@Inserted.. Brace for impact.);
     [tv endUpdates];
}

NSLog(@Section count after update: %d, [tv numberOfSections]); // Never reached

Si estoy en lo correcto, insertando una sección con índice 0 debería colocarlo en la parte superior, golpeando todas las otras secciones hacia abajo, ¿verdad? Bueno, si escribo el número de secciones justo después de insertsections, parece que no hay cambios en el número de secciones.

¿Algunas ideas?

Johan

Publicado el 30/03/2009 a las 16:25
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
3

Sí, gracias a ambos.

Después de algunos malabares, finalmente logré que funcionara. Fue una combinación de ambas tus sugerencias. Los nuevos datos nunca se insertaron, pero tampoco tuve que aumentar el recuento de filas para el primer elemento insertado, sino solo el segundo.

Respondida el 08/04/2009 a las 07:43
fuente por usuario

votos
2

Debe actualizar el mensaje numberOfSectionsInTableView de la clase UITableViewDataSource .

Respondida el 30/03/2009 a las 16:34
fuente por usuario

votos
2

¿También actualizaste tu fuente de datos? No puede simplemente actualizar la vista de tabla sin actualizar también los datos subyacentes.

Respondida el 30/03/2009 a las 16:29
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more