好的,过去几天我一直在查看 Singleton Model ,我发现单例模型正是我需要实现的,以便为我当前的应用程序管理蓝牙 . 我在我定义的单例中输入了 CoreBluetooth API 的中央管理器和外围功能 . 当我试图从我的viewController调用该函数时,我不断得到多个 errors

BlueCoreManager.shared.centralManager(CBCentralManager, didDiscoverPeripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI: NSNumber)

这只是我得到的许多错误之一 . BlueCoreManager是我在上面一行中的单例 .

“无法使用类型的参数列表调用中央管理器((CBCentralManager,didDiscoverPeripheral:CBPeripheral,advertisementData:[String:AnyObject],RSSI:NSNumber).Type)

所以我做了一些挖掘,并在github上发现了一些使用单例模型进行蓝牙管理的过时源代码 . 我看到的是为每个函数定义了一个单例

(选择外设,连接外设,读取外设等)

使用为每个协议定义的协议 . 这是最好的做法吗?我还需要为多个外设编写特定命令 . 另外,在源代码中,我注意到coreBluetooth api函数是在单例中定义的,但从未直接调用过 . 如果我参考单例中的其他函数,是否会自动调用这些函数?有人能否说明最佳进展方式?