ios – 如何符合CBCentralManagerDelegate协议?

前端之家收集整理的这篇文章主要介绍了ios – 如何符合CBCentralManagerDelegate协议?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试初始化中央管理器实例以创建具有蓝牙连接的应用程序.

这是我的代码的一部分:

class ViewController: UIViewController,CBCentralManagerDelegate {
   var myCentralManager = CBCentralManager(delegate: self,queue: nil) //error on this line
   func centralManagerDidUpdateState(central: CBCentralManager!) { 
}

我收到一个错误

“Type ‘ViewController -> () -> ViewController!’ does not conform to protocol ‘CBCentralManagerDelegate’

协议所需的唯一方法是我添加的centralManagerDidUpdateState(),为什么我会收到错误

解决方法

错误消息有点欺骗,并指出您远离实际问题.问题是你在初始化器中为存储的属性访问self,你不能这样做.

一种解决方法是简单地声明属性而不初始化它,然后将赋值转移到某个位置,如视图控制器的初始化程序,或者视图控制器的生命周期方法之一,如viewDidLoad.

猜你在找的iOS相关文章