我正在为 WatchOS 2 编写 Apple Watch 复杂功能。我尝试显示的特定数据(通过网络请求)以 3-6 分钟的时间间隔给出。我有一个预测算法,可以预测数据值的样子。这给我带来了一个问题。
因为我想显示我的预测算法在时间旅行中必须提供的数据,所以我想使用 getTimelineEntriesForComplication(在特定日期之后要求数据的版本)来提供我的算法认为对时间线正确的未来值. 然而,当时间向前移动(正如它倾向于做的那样)并且我们到达这些预测数据点之一被设置为发生的时间时,预测值不再准确。
例如,假设现在是下午 12:00,我目前有一个(准确的)数据值 A。预测算法可能会预测接下来两个小时的以下数据值:
- 下午 12:30 | 乙
- 下午 1:00 | C
- 下午 1:30 | D
- 下午 2:00 | 乙
但是,当 12:30 PM 实际到来时,实际数据值可能是 F。此外,该算法将生成一组新的预测,一直到下午 2:30。我知道我可以用它updateTimelineForComplication
来表示必须重建时间线,但是这种方法有两个问题:
- 我担心我会很快超过执行时间限制
updateTimelineForComplication
刷新整个时间线,考虑到所有过去的数据都是完全有效的,这对我来说似乎很浪费,它只是接下来需要更新的 4 个左右的值。
有没有更好的方法来处理这个问题?