Вы можете добавить тест к вашему контроллеру представления.
- (BOOL)isValidIndexPath:(NSIndexPath *)indexPath {
return (indexPath.section < self.tableView.numberOfSections &&
indexPath.row < [self.tableView numberOfRowsInSection:indexPath.section]);
}
Затем, когда вам нужно проверить путь индекса:
if ([self isValidIndexPath:indexPath]) {
...
}
Это было бы еще лучше в качестве категории,чтобы все табличные представления и контроллеры могли использовать его.
@interface UITableView (IndexPathTest)
- (BOOL)isValidIndexPath:(NSIndexPath *)indexPath;
@end
@implementation UITableView (IndexPathTest)
- (BOOL)isValidIndexPath:(NSIndexPath *)indexPath {
return (indexPath.section < self.numberOfSections &&
indexPath.row < [self numberOfRowsInSection:indexPath.section]);
}
@end
Тогда для любого контроллера табличного представления:
if ([self.tableView isValidIndexPath:indexPath]) {
...
}