我试图在Swift中构建iBeacon发射器,但我不能让我的类采用CBPeripheralManagerDelegate
协议。
Objective-C中需要此协议来初始化PeripheralManager对象,但在Swift中,我将收到以下错误:
class MyBeacon: CBPeripheralManagerDelegate {
// ...
}
给出错误:
' MyBeacon'不符合' CBPeripheralManagerDelegate'
由于我的班级没有采用该协议,当我尝试使用自动完成初始化PeripheralManager时,我也收到错误
self.peripheralManager = CBPeripheralManager(delegate: self, queue: queue)
给出错误:
无法找到' init'接受提供的参数
任何人都可以请一些亮点吗?
答案 0 :(得分:4)
您必须实施此方法,因为此方法不是可选的,如果您确认CBPeripheralManagerDelegate
func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {
}
在课堂上写这个错误就会消失
参考docs
CBPeripheralManager对象的委托必须采用 CBPeripheralManagerDelegate协议,由一个协议组成 许多可选方法和一个必需的方法。协议的 必需的方法,指示外围管理器是否 在更新外设管理器的状态时调用available。