我是斯威夫特的新手。制作一个适用于蓝牙低功耗 (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 是如何知道要调用哪个方法的呢?
Ps 可能因为 JS 背景不符合我的感知模型。无论如何,非常感谢任何帮助