gpt4 book ai didi

ios - 如何遵守 CBCentralManagerDelegate 协议(protocol)?

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:35 27 4
gpt4 key购买 nike

我正在尝试初始化中央管理器实例以制作具有蓝牙连接的应用。

这是我的部分代码:

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'

协议(protocol)唯一需要的方法是我添加的centralManagerDidUpdateState(),为什么会报错?

最佳答案

错误消息有点欺骗性,会让您远离实际问题。问题是您在存储属性的初始化程序中访问 self,您不能这样做。

一种解决方法是简单地声明属性而不对其进行初始化,然后将对变量的赋值移动到某个地方,例如 View Controller 的初始化程序,或 View Controller 的生命周期方法之一,如 viewDidLoad。

关于ios - 如何遵守 CBCentralManagerDelegate 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28134047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com