Core Plot использует Core Animation для всего рендеринга.Один граф содержит много слоев CA, которые отображаются независимо.-reloadData
просто говорит графику обновить свой кеш данных в следующий раз, когда он рисует, и сообщает Core Animation, что его нужно перерисовать.Точно так же простое заключение в скобки вызовов источника данных захватывает только кэширование данных, которое происходит перед рендерингом.Вы бы пропустили фактическое время рисования и никогда не узнали бы, если Core Animation повторно визуализировала график в другое время, например, после изменения размера.
Если вам нужно только время для визуализации графика, а не другоечасти графика, один из способов сделать это - создать подкласс CPTScatterPlot
и переопределить метод -renderAsVectorInContext:
.Сочетание вызовов super
с кодом вашего индикатора активности.