WatchOS2 WCSession WCSession可以在WatchKitExtension中拥有多少个代理?

我的iOS应用程序通过WatchConnectivity框架及时发送信息。 接收方实现WCSession的委托。

我有2个interfaceControllers需要从WCSession发送的信息。

一个是glanceInterfaceController,另一个是我的mainInterfaceController。

是否可以为它们分配委托,并且同时接收从我的iOS应用程序发送的userInfo或applicationContext? 或者只能分配一个WCSession委托,我的控制器需要从分配的对象中获取数据?

谢谢!

WCSession一次只支持一个委托。 如果您希望在有新的传入内容时通知代码的多个部分,则必须创建一个与WCSessionDelegate具有类似回调但仍支持多个观察者的包装类,或者您可以使用本地通知来转发内容。 也许更好; 让您的WCSessionDelegate更新应用程序的数据存储,然后通知您从数据存储中读取的代码部分已更新,以便刷新其视图?