Сделайте шаг назад и подумайте о том, что вы пытаетесь сделать здесь:
У вас есть UITableView с одной ячейкой, которая должна обновляться с частотой 20 Гц.
Двадцать. Герц.
Что происходит, когда вы reloadSections:withRowAnimation:
- TableView запрашивает у своего источника данных количество строк в этом разделе.
- TableView должен спросить своего делегата, реализует ли он
tableView:heightForRowAtIndexPath:
- если это так, ему нужно вызвать этот метод.
- TableView запрашивает у своего источника данных ячейку, которая затем попытается удалить ее из очереди (то есть, если был идентификатор повторного использования ...) и сконфигурировать эту ячейку.
- Затем TableView возьмет эту ячейку и вставит ее в иерархию представлений, удалит старую и затем вызовет компоновку своих подпредставлений.
Двадцать. Колоссальные. Времена. А. Второй.
Не делай этого!
Вместо этого вносите изменения только в том случае, если это действительно необходимо. В противном случае вы разряжаете батарею даром, и ваш пользовательский интерфейс будет вялым, потому что вся эта нагрузка, которую вы только что вызвали, блокирует цикл событий.