我对客观C编程相当陌生,所以请原谅,如果这是一个非常简单的问题。ObjectiveC:按特定顺序读取特征
我通过蓝牙连接到外围设备,并希望能够以特定顺序读取设备特性。从一个特征返回的值将决定下一个要读取的特征。
目前,如果我发现一个新的特征相应代码
[peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:MyUUID_1]] forService:service];
我可以正确地发现特性,可以读出值。我的问题在于,如果在发现第一个特征之后,然后尝试使用与上述相同的代码发现第二个特征,但是使用MyUUID_2。
当didDiscoverCharacteristicsForService方法被称为服务既具有MyUUID_1和MyUUID_2特性。因此,当循环访问方法中的if循环时,第一个特征会再次使用。
有没有办法从服务清除所发现的特点,因此,唯一的特点didDiscoverCharacteristicsForService内循环通过被称为由discoverCharacteristics
非常感谢您的回复,并为这样做的速度。 您的意思是我应该发现服务,然后使用discoverCharacteristics调用发现我可能需要的所有特征。然后在回调didDiscoverCharacteristicsForService里面按照我想要的顺序读取它们? Then –
您不必读'didDiscoverCharacteristicsForService'中的特征。您可以使用委托或NSOperations包装所有内容。我会尽力更新我的第一篇文章。 – yageek
因此,我的问题是,呼叫可能是FFF1 - > FFF2 - > FFF3,而第二次可能是FFF5 - > FFF3 - > FFF2 –