UITableView's reloadRowsAtIndexPaths: (NSArray *) indexPaths no puede provocar una recarga a menos que lo llame dos veces?
Tengo un UITableViewController que administra un objeto UITableView en una aplicación de iPad. La vista de tabla está vinculada con una constelación bastante complicada de otros objetos. Tengo un problema cuando le pido que vuelva a cargar una fila de la siguiente manera:
//indexPath is an NSIndexPath with indexes 0 and 0. At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath];
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];
El problema es que la fila no se recarga. Nunca hay una devolución de llamada a cellForRowAtIndexPath.
Lo loco es que si llamo a reloadRowsAtIndexPaths dos veces, la segunda llamada activa la recarga:
//indexPath is an NSIndexPath with indexes 0 and 0. At the moment, this is the only cell in the table view.
NSArray *array = [NSArray arrayWithObject:indexPath];
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone]; // does not reload
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone]; // does reload
Me pregunto si alguien más ha encontrado un error como este, y si es así, ¿cuál fue la causa?