【发布时间】:2016-01-11 01:33:22
【问题描述】:
我正在尝试编写一个使用位置数据的复杂功能。我可以在复杂控制器中获取位置数据,但由于结果异步返回,它似乎永远无法正常工作。
使用特定位置数据更新复杂功能的最佳方法是什么?我认为在并发症中获取位置不是一个好主意(即使你可以)。
【问题讨论】:
标签: watchkit watchos-2 apple-watch-complication
我正在尝试编写一个使用位置数据的复杂功能。我可以在复杂控制器中获取位置数据,但由于结果异步返回,它似乎永远无法正常工作。
使用特定位置数据更新复杂功能的最佳方法是什么?我认为在并发症中获取位置不是一个好主意(即使你可以)。
【问题讨论】:
标签: watchkit watchos-2 apple-watch-complication
您应该检索并缓存位置数据before the complication data source needs it。
数据源类的工作是尽快为 ClockKit 提供任何请求的数据。您的数据源方法的实现应该是最少的。不要使用您的数据源方法从网络中获取数据、计算值或执行任何可能延迟该数据传递的事情。如果您需要为您的复杂功能获取或计算数据,请在您的 iOS 应用程序或您的 WatchKit 扩展的其他部分中执行此操作,并将数据缓存在您的复杂数据源可以访问它的位置。您的数据源方法唯一应该做的就是获取缓存的数据并将其放入 ClockKit 所需的格式。
您可以在手机上检索位置数据,然后使用手表连接会话将transferCurrentComplicationUserInfo 连接到您的分机代表。扩展委托可以缓存复杂控制器的信息,或使用新数据扩展复杂时间线。
【讨论】: