2011-01-27 8 views
4

に私は通知NSNotificationはiphone

[[NSNotificationCenter defaultCenter] postNotificationName:@"updateStatusOnFacebook" object:nil userInfo:nil]; 
を投稿するこのコードを使用して持っているか、その可能性いずれかが私に

を導くことができるiPhoneアプリで別のビューコントローラにNSSNotifcationを送っていますが、そのオブザーバメソッドが2回通知取得

、コメントを追加しましたオブザーバー

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(postToWall)    name:@"updateStatusOnFacebook" object:nil]; 
+0

文字列 '@updateStatusFromFacebook"を変数/ defineに入れて、毎回それを入力する必要がないようにします。 – deanWombourne

答えて

6

はあなたが二度オブザーバを追加しましたか?

addObserver:selector:object:inのどのメソッドを呼び出していますか?それがviewWillAppearの場合、これは複数回呼び出されるかもしれません。

あなたのメソッドは、オブザーバーを追加したのと同じ回数呼び出されます。

このお試しください:もう一つの理由は、あなたが2回だけ通知を送信するかもしれないということです

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"updateStatusOnFacebook" object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(postToWall) name:@"updateStatusOnFacebook" object:nil]; 

を:)

+0

いいえ私は通知を2回送信せず、それを2回観測していません理由 –

+0

2度追加したり、2度観察したり、デバッグが間違っていますか? – deanWombourne

+0

私はそれを1度追加して別の通知を追加しました。オブジェクトの識別の問題私はクラスからオブジェクトを渡す必要があると思う私は通知を送信していると同じオブジェクトを使用して観察する必要がありますどのようにそれを行うには何か考えている –

0

私は同じ問題の作物アップがあったが、この質問を読んで、しかし、オブザーバーをプロジェクトのどこにでも追加するための呼び出しを1つしか見つけることができませんでした。行がでた方法はは二回と呼ばれていたので、私たちの場合は

は、オブザーバー二回追加されました。

addObserver:selector:name:objectコールを破ってコードをステップ実行し、予期しない余分な実行パスがないことを確認してください。

関連する問題