首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过存储“应答”块在iOS应用程序和WatchKit扩展之间进行通信?

如何通过存储“应答”块在iOS应用程序和WatchKit扩展之间进行通信?
EN

Stack Overflow用户
提问于 2015-04-06 10:31:25
回答 1查看 574关注 0票数 0

WatchKit中的一个问题是从主应用程序到WatchKit扩展程序之间的通信。发送达尔文通知或使用MMWormhole的一些方法。

可以通过在属性上存储由扩展发送到handleWatchKitExtensionRequest的应答块来完成吗?类似于:

代码语言:javascript
复制
@property (atomic,copy) void (^watchKitReply)(NSDictionary *);

然后,当应用程序想要向扩展发送一些东西时,它会使用这个现成的块。

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

如果没有,为什么这不可能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-06 15:18:51

你绝对可以做到的。不过,我还是要小心,不要每次都踩你的watchKitReply属性,创建一种允许多个reply对象的不同方法。

我们在Watch扩展/ iOS应用程序集成中所做的工作是创建一组WatchKitRequest请求。然后将每个应答块转发到执行请求实现的每个WatchKitRequest子类,然后在完成后执行reply块。本质上,我们所做的正是您所建议的,即存储reply块,直到您真正需要调用它。我们只是存储reply块的方式与您建议的略有不同。

这种方法对我们非常有效。希望这能帮助你朝着正确的方向前进。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29469503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档