【发布时间】:2021-11-28 17:18:51
【问题描述】:
我是 Swift 新手。制作一个适用于蓝牙低功耗 (BLE) 设备的宠物项目。感谢 Google 发现了如何运行它(扫描、连接等)。但仍然不明白它是如何工作的。接下来是代码:
class BLEManager: CBCentralManagerDelegate, OtherProtocols {
private var myCentral: CBCentralManager!
override init() {
super.init()
myCentral = CBCentralManager(delegate: self, queue: nil)
myCentral.delegate = self
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
// This one discover devices
}
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
// This one handles connection
}
func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
// Does some stuff as well
}
}
问题是为什么这些方法有相同的名称?我看到它们有不同的参数(命名非常清楚),但是Swift如何知道调用哪个方法?强>
附:可能因为 JS 背景不符合我的感知模型。无论如何,非常感谢任何帮助
【问题讨论】:
标签: swift class-method swift-class