Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios WatchConnectivity如何在多个WkInterfaceController之间共享会话?_Ios_Swift_Watchos 2_Watchconnectivity - Fatal编程技术网

Ios WatchConnectivity如何在多个WkInterfaceController之间共享会话?

Ios WatchConnectivity如何在多个WkInterfaceController之间共享会话?,ios,swift,watchos-2,watchconnectivity,Ios,Swift,Watchos 2,Watchconnectivity,我需要在多个WkInterfaceController之间共享WCSession。单例方法不起作用,一旦您将委托设置为一个类,其他类中的所有委托都将无效。场景:接口A发送和接收数据,根据数据内容显示接口B。点击接口B,将请求和接收额外数据。您将如何在A和B之间共享WCSession?使用并侦听所有视图控制器中的更改。使用并侦听所有视图控制器中的更改。没有解释应用程序范围的会话是否有效 您可以使用应用程序范围的WCSessionsingleton,它将可用于所有接口控制器。您只需在应用程序生命周期

我需要在多个WkInterfaceController之间共享WCSession。单例方法不起作用,一旦您将委托设置为一个类,其他类中的所有委托都将无效。场景:接口A发送和接收数据,根据数据内容显示接口B。点击接口B,将请求和接收额外数据。您将如何在A和B之间共享WCSession?

使用并侦听所有视图控制器中的更改。

使用并侦听所有视图控制器中的更改。

没有解释应用程序范围的会话是否有效

您可以使用应用程序范围的
WCSession
singleton,它将可用于所有接口控制器。您只需在应用程序生命周期的早期实例化会话管理器,并将其作为自己的委托

会话管理器(singleton)可以处理接口控制器的所有传输,而不是让每个接口控制器处理会话委派(这不会很好地工作)

正如在另一个答案中提到的,您可以使用通知让感兴趣的接口控制器知道新数据何时到达

使用模块化方法,如会话或数据管理器,有助于将这些代码排除在控制器之外,而控制器实际上并不属于这些代码。它还使每个模块的测试和使用更加容易

我不会在这里重复代码,因为已经有几个关于堆栈溢出的现有答案,以及 web上的文章,详细介绍了这种技术。例如:

你经常会在一些狭义的问题中找到这些类型的答案,这些问题询问如何在手表应用程序和它的控制器之间共享数据。

并不能解释应用程序范围的会话是否有效

您可以使用应用程序范围的
WCSession
singleton,它将可用于所有接口控制器。您只需在应用程序生命周期的早期实例化会话管理器,并将其作为自己的委托

会话管理器(singleton)可以处理接口控制器的所有传输,而不是让每个接口控制器处理会话委派(这不会很好地工作)

正如在另一个答案中提到的,您可以使用通知让感兴趣的接口控制器知道新数据何时到达

使用模块化方法,如会话或数据管理器,有助于将这些代码排除在控制器之外,而控制器实际上并不属于这些代码。它还使每个模块的测试和使用更加容易

我不会在这里重复代码,因为已经有几个关于堆栈溢出的现有答案,以及 web上的文章,详细介绍了这种技术。例如:

你经常会在一些狭义的问题中找到这些类型的答案,这些问题问你如何在手表应用程序和它的控制器之间共享数据