我创建了一个具有 3 个启用 Sphero 的流的 iOS 应用程序。我最终在每个 viewDidLoad 中在线重写了 setupRobotConnection 和 handleRobot,然后在每个 prepareForSegue 方法中关闭了连接。它在大多数情况下都有效,但 NavigationController 的后退按钮可能会搞砸。我认为这不是连接到 Sphero 并保持连接的最佳方式。
对于我的应用程序,每个流程都有略微不同的 handleRobotOnline 需求流程 1:无需驾驶,需要 dataStreaming 和 AsyncData 流程 2:用于发送命令的多人游戏类。流程 3:使用需要 dataStreaming 和 AsyncData 的 1 个视图的操纵杆驱动
我的问题是:对于多视图应用程序,最好的地方是:1)订阅应用程序通知?2) 订阅机器人在线/离线通知?3) 检查应用程序与机器人的连接类型是否正确(driveControl、sharedMultiplayer、dataStreaming)?
如有必要,我可以粘贴代码