Я полагаю, что упаковка обновления таблицы в animateWithDuration
будет работать:
[UIView animateWithDuration:0.0 animations:^{
[coursesTable beginUpdates];
…
[coursesTable endUpdates];
} completion:^(BOOL finished) {
// Code to run when table updates are complete.
}];
Другие методы, предложенные мной здесь, в переполнении стека, не работали для меня.
Я использовал эту технику за один раз и достаточно протестировал ее, чтобы убедиться, что блок завершения вызывается после того, как я вызвал метод endUpdates таблицы, но переписал свой код, так что он мне больше не нужен, пока я полностью не проверил, что анимация была фактически закончена.