- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试初始化中央管理器实例以制作具有蓝牙连接的应用。
这是我的部分代码:
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/
我正在尝试在部署目标为 10.12 的 MacOS 上的 Swift 中实现 Apple 用 Objective-C 编写的示例代码。示例可以在这里找到以供引用:Heart Rate Monitor
在我的CBCentralManagerDelegate 协议(protocol)实现中,我有以下功能。 func centralManager(_ central: CBCentralManager,
我创建一个继承自 NSObject 的类并添加delegate方法。在我的类里面,我想使用 CBCentralManager 及其委托(delegate)方法。但是委托(delegate)方法没有被调
在我的应用程序中,当我启动应用程序时,我想检查设备蓝牙是否打开或关闭。一般来说,我们可以在 CBCentralManagerDelegate 中获取它。这是我的代码 var manager:
我正在尝试实现 BLEHandler。 这是我的代码: import CoreBluetooth class BLEHandler : NSObject, CBCentralManagerDelega
我正在尝试初始化中央管理器实例以制作具有蓝牙连接的应用。 这是我的部分代码: class ViewController: UIViewController, CBCentralManagerDeleg
我需要一些建议 我正在尝试实现 Unity BLE Ios 插件。我在尝试在 xcode 中构建项目时遇到问题:未知的类名“CBCentralManagerDelegate”;您指的是“CBCentr
我想制作一个使用蓝牙进行通信的 ios 应用程序。我正在使用 swift。 所以首先我添加了 CoreBluetooth.framework,然后我添加了一个 bridge.h 并将文件添加到系统桥,
我有一个管理 BTLE 通信的 BluetoothManager 类。我可以扫描并连接到 CBPeripheral 并发现服务或特征。我有来自 CBCentralManagerDelegate 和 C
//自定义类 public protocol BluetoothManagerProtocol { var delegate: CBCentralManagerDelegate? {get s
问题 我正在使用 core-bluetooth 以 6 Hz 的速率将传感器数据(64-128 字节的数组)传输到 iPad(第 6 代)。它在 ios 12 中运行良好。在我更新到 ios 13 后
我是一名优秀的程序员,十分优秀!