Ios WatchConnectivity如何在多个WkInterfaceController之间共享会话?
我需要在多个WkInterfaceController之间共享WCSession。单例方法不起作用,一旦您将委托设置为一个类,其他类中的所有委托都将无效。场景:接口A发送和接收数据,根据数据内容显示接口B。点击接口B,将请求和接收额外数据。您将如何在A和B之间共享WCSession?使用并侦听所有视图控制器中的更改。使用并侦听所有视图控制器中的更改。没有解释应用程序范围的会话是否有效 您可以使用应用程序范围的Ios WatchConnectivity如何在多个WkInterfaceController之间共享会话?,ios,swift,watchos-2,watchconnectivity,Ios,Swift,Watchos 2,Watchconnectivity,我需要在多个WkInterfaceController之间共享WCSession。单例方法不起作用,一旦您将委托设置为一个类,其他类中的所有委托都将无效。场景:接口A发送和接收数据,根据数据内容显示接口B。点击接口B,将请求和接收额外数据。您将如何在A和B之间共享WCSession?使用并侦听所有视图控制器中的更改。使用并侦听所有视图控制器中的更改。没有解释应用程序范围的会话是否有效 您可以使用应用程序范围的WCSessionsingleton,它将可用于所有接口控制器。您只需在应用程序生命周期
WCSession
singleton,它将可用于所有接口控制器。您只需在应用程序生命周期的早期实例化会话管理器,并将其作为自己的委托
会话管理器(singleton)可以处理接口控制器的所有传输,而不是让每个接口控制器处理会话委派(这不会很好地工作)
正如在另一个答案中提到的,您可以使用通知让感兴趣的接口控制器知道新数据何时到达
使用模块化方法,如会话或数据管理器,有助于将这些代码排除在控制器之外,而控制器实际上并不属于这些代码。它还使每个模块的测试和使用更加容易
我不会在这里重复代码,因为已经有几个关于堆栈溢出的现有答案,以及
web上的文章,详细介绍了这种技术。例如:
WCSession
singleton,它将可用于所有接口控制器。您只需在应用程序生命周期的早期实例化会话管理器,并将其作为自己的委托
会话管理器(singleton)可以处理接口控制器的所有传输,而不是让每个接口控制器处理会话委派(这不会很好地工作)
正如在另一个答案中提到的,您可以使用通知让感兴趣的接口控制器知道新数据何时到达
使用模块化方法,如会话或数据管理器,有助于将这些代码排除在控制器之外,而控制器实际上并不属于这些代码。它还使每个模块的测试和使用更加容易
我不会在这里重复代码,因为已经有几个关于堆栈溢出的现有答案,以及
web上的文章,详细介绍了这种技术。例如: