Поэтому я обновляю табличное представление, вставляя / удаляя / перезагружая строки по мере необходимости, но, поскольку я не уверен на 100%, что табличное представление всегда будет обновляться правильно, есть ли способ безопасно завершить работу из-за плохой партииобновления?
Прямо сейчас у меня есть это:
// Try to animate the updates. If something goes wrong, just reloadData.
@try {
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:deleteArray withRowAnimation:UITableViewRowAnimationMiddle];
[tableView reloadRowsAtIndexPaths:reloadArray withRowAnimation:UITableViewRowAnimationNone];
[tableView insertRowsAtIndexPaths:insertArray withRowAnimation:UITableViewRowAnimationMiddle];
[tableView endUpdates];
}
@catch (NSException * e) {
if([[e name] isEqualToString:NSInternalInconsistencyException]){
[tableView reloadData];
NSLog(@"animation failed, just reloading data");
}
else {
@throw e;
}
}
Однако, как только оно попадает в это исключение, reloadData, похоже, не работает.Есть ли другой способ в основном сбросить UITableView в рабочее состояние?