WatchOS2 WCSession WCSession 在 WatchKitExtension 中可以有多少个委托?

WatchOS2 WCSession How many delegates can the WCSession have in WatchKitExtension?

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

我有 2 个接口控制器需要从 WCSession 发送的信息。

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

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

谢谢!

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