好的,过去几天我一直在检查 Singleton模型,我发现单例模型正是我需要实现的,以管理当前应用程序的蓝牙。
我在我定义的单例中输入CoreBluetooth API
的中央管理器和外围函数。当我尝试从我的viewController调用该函数时,我不断收到多个错误,如
BlueCoreManager.shared.centralManager(CBCentralManager, didDiscoverPeripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI: NSNumber)
这只是我得到的许多错误中的一个。 BlueCoreManager是我在上面一行中的单例。
“无法使用类型的参数列表调用中央管理器 ((CBCentralManager,didDiscoverPeripheral:CBPeripheral, advertisementData:[String:AnyObject],RSSI:NSNumber).Type)
所以我做了一些挖掘,并在github上发现了一些过时的源代码,使用单例模型进行蓝牙管理。我看到的是为每个函数定义了一个单例
(选择外设,连接外设,读外设等)
为每个人定义协议。这是最好的做法吗?我还需要为多个外设编写特定命令。另外,在源代码中,我注意到coreBluetooth api函数是在单例中定义的,但从未直接调用过。如果我参考单例中的其他函数,是否会自动调用这些函数?有人能否说明最佳进展方式?