我正在使用watchOS 2
和Xcode 7.3
。我有3个接口控制器(IC)在手表应用程序。我使用"[WCSession defaultSession] sendMessage"
方法将消息从AppDelegate以3种不同的场景发送到这3个IC。所有3个IC都提供接收方法。但该消息大部分在第三集成电路中收到。我应该怎么做才能在特定IC中接收信息。如何在使用AppDelegate中的“[WCSession defaultSession] sendMessage”时在watchOS 2的特定界面控制器中接收消息
0
A
回答
2
我会建议一些重新设计,现在你有你的界面控制器做“网络”和模型的工作。
我推荐的方法是创建一个“持久性管理器”,它是WCSession委托。任何接收到的数据都会持续存在,然后使用观察者或通知模式通知代码的其他部分。如果与他们呈现的用户界面相关的任何内容已被更新(将新条目添加到表格行,新项目被收藏等),他们将继续并重新运行任何数据查询并更新他们的UI。
这具有许多优点,如降低界面控制器的复杂性,更好地分离关注点;但最重要的是它可以让你的扩展在后台运行(没有界面控制器可见),但能够接收数据,坚持下来,然后在下次启动应用程序时利用它。
1
您可以检查您发送的字典密钥。您可以使用三个不同的密钥,然后检查它是否是正确的接口控制器的正确密钥。
0
给手表应用程序扩展中的ExtensionDelegate.m中的didReceiveMessage方法。通过sendMessage方法中接口控制器的名称。在if-else条件下,使用通知中心调用预期的接口控制器中的方法。
相关问题
- 1. 如何使用WCSession didReceiveMessage接收不同的消息?
- 2. watchOS 2:初始接口控制器
- 3. WCSession sendMessageData在watchOS中不工作3
- 4. watchOS不能的sendMessage()
- 5. 如何从C++的SendMessage()接收信息
- 6. 如何在VB.NET中接收PostMessage/SendMessage?
- 7. 接收在ZeroMQ消息没有ZMQ接收二进制消息时,在C#中预定义的缓冲
- 8. 在xmmp中接收消息
- 9. WCSession sendMessage何时无法在后台唤醒iOS应用程序?
- 10. watchOS,WCSession activationDidCompleteWith“activated”,但无法到达
- 11. watchOS发送短消息没有得到所谓的
- 12. WatchOS WCSession的调试和状态恢复问题sendMessage唤醒被杀死的iPhone应用
- 13. 如何在MVC控制器中使用消息框?
- 14. 开放接口控制器编程在WatchOS 2
- 15. 为什么在MFC中接收错误消息而不是定时器消息?
- 16. 如何在Laravel中的控制器重定向时显示成功消息?
- 17. 如何从AppDelegate获取特定的控制器
- 18. 打开父应用(WatchOS 2.X +)
- 19. 如何枚举我的用户界面中的接收器?
- 20. IPC在C中使用消息队列:在接收时出错
- 21. watchOS 3在设备和手表之间共享的课程中使用WCSession
- 22. 如何将消息存储在从广播接收器接收的列表中
- 23. 从POSIX Message Queue接收特定消息
- 24. 如何在消息框中使用特定的字体?
- 25. 如何在Delphi中使用TidIRC接收消息?
- 26. 如何在ios中使用XMPP接收脱机消息
- 27. 在RabbitMQ中接收消息的方式
- 28. 如何在界面构建器中配置导航控制器?
- 29. 如何在MVC中显示来自控制器的jquery消息
- 30. Watchkit和WCSession