WatchConnectivity如何在多个WKInterfaceControllers间共享会话?

问题描述:

我有一种情况,我需要在多个WKInterfaceControllers中共享WCSession。单例方法不起作用,一旦您将委托设置为类,其他类中的所有委托都将失效。场景:接口A基于数据内容发送和接收数据,呈现接口B.点击接口B,将请求并接收附加数据。你如何分享A和B之间的WCSession?WatchConnectivity如何在多个WKInterfaceControllers间共享会话?

The other answer不能解释一个应用程序范围内的会议会工作。

可以使用一个应用程序范围内的单身人士,它可用于您的所有界面控制器。您只需在应用程序生命周期的早期实例化会话管理器,并将其作为自己的代理。

,而不是试图使每个接口控制器处理该会议的各国代表团(这将无法正常工作),会话管理器(单)可以处理你的接口控制器的所有传输。

正如在其他答复中提到,你可以再使用的通知,让他们当新数据到达感兴趣的接口控制器知道。

使用模块化的方法,如会话或数据管理,有助于保持这样的代码了一个控制器,它真的不属于的。这也使得测试和利用每个模块变得更加容易。

我不会在这里重复代码,因为在Stack Overflow上已经发布了几个已有的答案,以及网上的 文章详细介绍了这一技术。例如:

你会经常发现,问如何共享之间,也就是说,一个手表的应用程序数据较窄的问题中,这些类型的答案及其并发症控制器。

使用NSNotification,听在所有视图控制器的变化。

+0

好的,好建议。 –