Nella mia app provo a scorrere un UITableView in alto una volta dopo aver aggiornato il contenuto della tabella. Tuttavia, in alcune circostanze, la mia tabella è VUOTA. Così ho preso la seguente eccezione:iphone dev - come rilevare l'eccezione "NSRangeException"
terminazione app a causa di eccezione non identificata 'NSRangeException', la ragione: '- [UITableView scrollToRowAtIndexPath: atScrollPosition: animato:]: riga (0) al di là di confini (0) per la sezione (0).'
Come posso rilevare questa eccezione? Ho provato
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
if (indexPath != nil) {
[EventTable scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
ma non rileva l'eccezione perché indexPath non è nullo.
Grazie. Questo è il modo in cui lo faccio. if (([EventTable numberOfSections]> 0) && ([EventTable numberOfRowsInSection: 0]> 0)) { \t \t [EventTable scrollToRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: 0] atScrollPosition: UITableViewScrollPositionTop animato: YES]; \t} – Brian
&& sarà corretto invece di || ? –
@ S.P che dipende se si sta verificando se scorrere o verificare se interrompere. –