Также опция, если вы используете FetchedResultsControllers:
в подпрограмме:
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath {
добавить эту строку где-нибудь (при условии, что вы объявили переменную в заголовке ...):
sectionToUpdate = newIndexPath.section;
Затем в:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
в конце добавьте что-то вроде этого:
if (sectionToUpdate != -1) {
[yourtableview beginUpdates];
[yourtableview reloadSections:[NSIndexSet indexSetWithIndex:sectionToUpdate] withRowAnimation:UITableViewRowAnimationFade];
[yourtableview endUpdates];
sectionToUpdate = -1;
}
Должно избавить вас от полной перезагрузки таблицы.