iOS 如何在不同 View 之间操作 Bluetooth

问题描述

我有两个 ViewController,一个 ViewA 用来搜索并显示蓝牙列表,一个 ViewB 用来控制蓝牙设备的操作,现在我在 ViewA 上继承 CBCentralManagerDelegateCBPeripheralDelegate 并在 didDiscover 中搜索到需要的设备,接着在 didConnect中成功连接设备。

此时我需要进入 ViewB 并在 ViewB 中操作蓝牙设备或监听蓝牙数据,但是我没法获取 ViewA 中连接成功的 peripheral。所以有什么办法能够让我在 ViewA 中连接成功的设备可以直接在 ViewB 中使用呢?

尝试过哪些方法

网上查到有人说使用单例模式,建一个 BLEManager 的单例,然后 ViewA 和 ViewB 中直接使用这个单例,但是比如 didDiscover 是一个异步的方法,我怎么在 ViewA 中告诉这个单例现在开始 discover 了呢?


aluckdog
浏览 689回答 2
2回答

汪汪一只猫

最简单地,你可以发消息啊。

杨魅力

[[NSNotificationCenter defaultCenter] postNotificationWithName:@"your name" object:nil];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS