gpt4 book ai didi

ios - 如何通过存储 "reply" block 在 iOS 应用程序和 WatchKit 扩展之间进行通信?

转载 作者:行者123 更新时间:2023-11-29 02:09:09 26 4
gpt4 key购买 nike

WatchKit 中的问题之一是从主应用到 WatchKit 扩展的通信。一些方法可以通过发送 Darwin 通知或使用 MMWormhole 来实现。

是否可以通过在属性上存储由扩展程序发送到 handleWatchKitExtensionRequest 的回复 block 来实现此目的?像这样的东西:

@property (atomic,copy) void (^watchKitReply)(NSDictionary *);

然后,当应用想要向扩展程序发送内容时,它会使用这个随时可用的 block 。

如果扩展想要与主应用程序通信,它将发送一个新的回复 block ,该 block 将存储在属性中。旧的将被使用并丢弃。

如果不是,为什么这不可能?

最佳答案

你绝对可以做到这一点。我会小心,但不要每次都破坏你的 watchKitReply 属性,并创建一种不同的方式来允许多个 reply 对象。

我们在 Watch Extension/iOS App 集成中所做的是创建一组 WatchKitRequest 请求。然后将每个回复 block 转发到执行请求实现的每个 WatchKitRequest 子类,然后在完成时执行 reply block 。本质上,我们完全按照您的建议进行操作,即存储 reply block ,直到您真正需要调用它为止。我们只是存储 reply block ,与您建议的有所不同。

这种方法对我们非常有效。希望这有助于让您朝着正确的方向前进。

关于ios - 如何通过存储 "reply" block 在 iOS 应用程序和 WatchKit 扩展之间进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29469503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com