外部アクセサリと通信する必要があるアプリを開発しています。アプリには、外部アクセサリに送信するいくつかの要求があります。
私の問題:
さまざまな場所 (クラス) でオブザーバーを使用しています。次のオブザーバーを に追加していますviewDidLoad
。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(observer1:)
name:EADSessionDataReceivedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(observer2:)
name:EADSessionDataReceivedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(observer3:)
name:EADSessionDataReceivedNotification object:nil];
最初のオブザーバーは非常にうまく機能しますが、他の 2 つには問題があります。最初のものが使用されるまで、彼らは応答しません。他に何か追加する必要がありますか?
フローは次のとおりです。
ext-acc にリクエストを送信し、どのオブザーバーが返されたデータを取得するかを知るためにフラグを起動します
ext-acc はデータで応答します
レシーバー メソッドは、通知を通知センターにプッシュします。
フラグが 1 のオブザーバーがデータを取得します (この時点で、他の誰も通知を必要としないため、通知を削除する必要がありますか?)。