我已经使用Segue将我的CBCentralManager和CBPeripheral从另一个View控制器传递到我当前的View控制器。
Class Dashboard: UIViewController ,CBCentralManagerDelegate, CBPeripheralDelegate{
@IBOutlet weak var signalgauge: GaugeView!
var blecentralmanager: CBCentralManager!
var bleperipheral: CBPeripheral!
override func viewDidLoad() {
super.viewDidLoad()
}
这些被称为blecentralmanager和bleperipheral。
现在我想做连接和发现服务和特性
所以我致电:
blecentralmanager.connect(self.bleperipheral,options: [CBConnectPeripheralOptionNotifyOnDisconnectionKey: true])
这样可以正常工作并连接到设备,但我注意到中央管理器DidConnect没有被调用。
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
bleperipheral.discoverServices(nil)
}
如何通过DidConnect外设对我的blecentralmanager或bleperipheral进行响应?
是因为blecentralmanager和_central:CBCentralManger是两个不同的变量?