Я нахожусь в процессе написания усложнения Apple Watch для WatchOS 2. Конкретные данные, которые я пытаюсь показать, предоставляются (через веб-запрос) с интервалами времени в диапазоне от 3 до 6 минут. У меня есть алгоритм прогнозирования, который может предсказать, как будут выглядеть значения данных. Это представляет проблему для меня.
Поскольку я хочу отобразить данные, которые мой алгоритм прогнозирования может предложить в путешествии во времени, я хотел бы использовать getTimelineEntriesForComplication (версия, которая запрашивает данные после определенной даты), чтобы предоставить будущие значения, которые, по мнению моего алгоритма, будут верны временной шкале. . Однако, когда время движется вперед (как это обычно бывает) и мы достигаем времени, когда одна из этих прогнозируемых точек данных должна была произойти, прогнозируемое значение перестает быть точным.
Например, предположим, что сейчас 12:00, и в настоящее время у меня есть (точное) значение данных A. Алгоритм прогнозирования может предсказать следующие значения данных для следующих двух часов:
- 12:30 PM | B
- 1:00 PM | C
- 1:30 PM | D
- 2:00 PM | E
Однако, когда на самом деле наступает 12:30, фактическое значение данных может быть F. Кроме того, алгоритм будет генерировать новый набор прогнозов вплоть до 14:30. Я понимаю, что могу использовать updateTimelineForComplication
, чтобы указать, что временная шкала должна быть перестроена, но у меня есть две проблемы с этим методом:
- Я боюсь, что довольно быстро превысю лимит времени выполнения
updateTimelineForComplication
очищает всю временную шкалу, что кажется мне расточительным, учитывая, что все прошлые данные совершенно достоверны, это просто следующие 4 или около того значения, которые необходимо обновить.
Есть ли лучший способ справиться с этой проблемой?