Возможно, потому что вы обновляете (или удаляете), а затем загружаете ваше табличное представление в глобальный поток.Вы не используете assync методы, поэтому они не запускаются в последовательности.Попробуйте сделать let group = DispatchGroup () и перед загрузкой или удалением выполните group.enter (), и после того, как он закончит обновление (или удаление), создайте group.leave () и введите следующий метод загрузки.
Но, пожалуйста, попробуйте создать ассинкционные методы с использованием замыканий при вставке или обновлении объектов области.Разделите обязанности.