2011-08-09 20 views
0

奇妙な問題が発生しています。通知は送信されるよりも頻繁に受信されます

[[NSNotificationCenter defaultCenter] postNotificationName:@"NIDNewDataSetNotification" object:self]; 

私は右の通知を送信する前に、時間をのNSLogた場合、私はそれが必要として、毎秒送信することを参照してください。

私はこのような通知センターに呼び出すことによって通知をオフに送信する方法を持っています。

Iはそうのようなオブザーバーとして自身を追加し、別のオブジェクトのメソッドがあります時間をNSLoggingにより、

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveDataNotification:) name:@"NIDNewDataSetNotification" object:nil]; 

しかしを、私はそれのような通知を(毎秒内の全ての4×4回受けることがわかり0.001秒)。

他の通知は送信されていません。通知を送信する行をコメントアウトすると、通知をキャッチするメソッドが呼び出されません。

アイデア?私はこれが起こるかもしれない2例と考えることができます

+0

通知を何回も登録していないことをどのように確認していますか? –

答えて

6

1)あなたが何らかの形で通知に対して複数回登録されていますか?一度しか見ないように登録する前にNSLog(@"registering...")声明を投げてください。

2)イベントの登録を解除しますか?それは壊れたり、呼び出されなかったりできますか?おそらくNSLogステートメントを呼び出して、それが呼び出されていることを確認して、適切なデリゲート&通知のオブザーバーを削除していることを確認してください。

+0

私は自分のプロジェクトをきれいにしました。どうもありがとうございました。 – Randall

+1

@Randall:次回は質問を投稿する前にそのような対策をしてください。 –

0

ええ、あなたがあなたのオブザーバーを設定するたびに、あなたが再登録していると思います。

関連する問題