如何在Watchkit中的GlanceController和InterfaceController之间进行通信?

时间:2015-01-21 23:15:09

标签: ios objective-c swift watchkit

根据Watchkit的Apple documentation,使用willActivate使用最新信息更新扫视场景。建议的方式是什么?#34;最新的"信息,或者换句话说,我如何在GlanceControllerInterfaceController之间进行通信?我目前正在使用Swift,但Obj-C中的答案也很好。 我似乎无法在文档中找到它。

3 个答案:

答案 0 :(得分:2)

您需要在接口控制器中实现: - (void)handleUserActivity:(NSDictionary *)userInfo。 并在Glance Controller中调用updateUserActivity:userInfo:with userInfos,你想传递给你的interfaceController。

答案 1 :(得分:2)

您的意思是从Glance控制器切换到接口控制器吗?

协调切换
如果是这样,您将要查看Coordinating Handoff Activity

实施func handleUserActivity(_ userInfo: [NSObject : AnyObject]!) 在初始接口控制器上。

然后用userInfo字典来updateUserActivity:userInfo:方法并提供从Glance转换的上下文 - >观看应用程序。

分享数据
分享最新的'根据您的Glance数据,您应该构建Watch Extension / iOS应用程序,以便定期将数据保存到您的iOS应用和扩展程序都可以访问的Shared App Container中。当您的Glance打开时,它只是从共享容器中获取其数据(预期是最新的)并显示它。

答案 2 :(得分:1)

您可以在glance控制器中工作就像在界面控制器中工作一样,以获得最新的"最新的"信息并将结果保存到NSUserdefault,然后从接口控制器中获取NSUserDefault的结果。