ios - WatchOS2 WCSession WCSession 在 WatchKitExtension 中可以有多少个委托(delegate)?

标签 ios swift watchkit apple-watch watchos-2

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

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

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

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

谢谢!

最佳答案

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

关于ios - WatchOS2 WCSession WCSession 在 WatchKitExtension 中可以有多少个委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31205248/

相关文章:

ios - 从另一个 View Controller 检索 SQLite 数据

swift - Zebra 打印机 SDK swift

ios - 是否可以专门向Apple Watch发送本地通知?

ios - 如何修复 UIWebView 中的 WebCore 崩溃?

ios - 如何在 iOS 中创建类似于 Windows 窗体的选项卡控件?

iOS ApplePay PKPaymentAuthorizationViewController 未出现在 Xcode11/iOS 13 中

ios - 将数据从函数传递到 TableView

ios - Watchkit - 如何在组中设置元素一个在另一个下面

iOS WatchKit - 启动 watch 应用程序时出错 "SPErrorInvalidBundleNoGizmoBinaryMessage"

iOS 13 风格的 UIPresentationController 不依赖快照?