私は客観的なCプログラミングにはかなり新しいので、これは非常に単純な質問であれば申し訳ありません。ObjectiveC:特定の順序で特性を読み取る
私は、Bluetooth経由で周辺機器に接続しており、特定の順序で機器の特性を読み取ることができるようにしたいと考えています。 1つの特性から戻される値は、次に読み取る特性を決定します。私は、コード
[peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:MyUUID_1]] forService:service];
を使用して、新しい特性を発見した場合
現在、私は正しく特性を発見することができ、その値を読み取ることができます。私の問題は、最初のcharacterisiticの発見に続いて、上記と同じコードを使用して、しかしMyUUID_2で2番目の特性を発見しようとすると関係します。 didDiscoverCharacteristicsForService方法は、サービスと呼ばれる
両方MyUUID_1とMyUUID_2特性を有しています。したがって、メソッド内でifループをループすると、最初の特性が再び使用されます。
特性のみがdidDiscoverCharacteristicsForService内ループスルーするよう、サービスから発見された特性をクリアする方法はありますがdiscoverCharacteristics
お返事のために、とのための多くのおかげでそうすることで速度。 サービスを検出して、discoverCharacteristicsコールを使用して必要なすべての特性を検出する必要があることを意味しますか。コールバックdidDiscoverCharacteristicsForServiceの内部では、私が望む順番でそれらを読んでいますか? –
「didDiscoverCharacteristicsForService」内の特性を必ずしも読み込む必要はありません。委任またはNSOperationsを使用してすべてをラップすることができます。私は最初の投稿を更新しようとします。 – yageek
私の問題は、2番目の時間がFFF5 - > FFF3 - > FFF2の間に、呼び出しがFFF1 - > FFF2 - > FFF3であるということです。 –