我搜索了一下,发现这可能是一个重复的问题:
我的问题是:
我有多个服务,总共有30-40个特征(是的,我需要它们全部...)。 对于处理CoreBluetooth,我始终使用苹果示例代码(CoreBluetooth温度传感器)作为起点。
发现和服务/特征处理分成两个类,对于只有几个特征来说,这样做没问题。但在一个类中处理这么多特征,这不是我所理解的"良好的软件设计"。
人们想到的第一个想法是为每个服务创建一个类。但不幸的是,CBPeripheral同时只能有一个CBPeripheralDelegate。这意味着我不能将其分成几个类。
(我们不必讨论BLE是否是获得此数量数据的正确技术 - 不是。但有制造商使用BLE,所以他们不必烦恼MFi计划...)
我还阅读了最终提供的CoreBluetooth编程指南,但它只描述了基本工作流程,没有关于正确设计的内容。
我正在寻找一种好的设计方法。您可能有任何建议、提示或示例代码链接吗? 非常感谢!