我正在做一个项目,包括coreblutooth。我研究了这个话题,在网上找到了一些教程。
现在我重新创建了一些教程,在几乎所有方法中,我都会得到以下错误:
条件绑定的初始值设定项必须具有可选类型,而不是“CBCentralManager”
func centralManagerDidUpdateState(central: CBCentralManager) {
if let central = central{ //Here is the error line
if central.state == CBCentralManagerState.PoweredOn {
print("Bluetooth ON")
}
else {
// Can have different conditions for all states if needed - print generic message for now
print("Bluetooth switched off or not initialized")
}
}
}
最佳答案
传递给delegate方法的CBCentralManager
不是可选的-它没有?
后缀,因此不需要将其展开。这就是错误告诉你的——你试图解开一个不是可选的变量。
你可以说
func centralManagerDidUpdateState(central: CBCentralManager) {
if central.state == CBCentralManagerState.PoweredOn {
print("Bluetooth ON")
}
else {
// Can have different conditions for all states if needed - print generic message for now
print("Bluetooth switched off or not initialized")
}
}
关于swift - 核心蓝牙可选类型不是CBCentralmanager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32296134/