0

ビューコントローラの変更を制御するためにaを使用しUINavigationControllerます。A1とA2を1つずつ押すと仮定します。A1とA2はどちらも、カスタムView Controller Aのインスタンスです。Aは通知を登録しており、通知を受信するとUIを更新します。

私の問題は
、A2に通知を投稿すると、A2がそれを受信できることです。
ただし、A1にポップすると、A1に変更はありません。

それで、誰かがそれを修正する方法を私に助けることができますか?

ところで、通知を使用する理由は、Aの複数のインスタンスをプッシュする可能性があり、いずれかが通知を投稿した場合、スタック内の他のインスタンスも更新する必要があるためです。

4

3 に答える 3

0

Xcode (4.3.1 (4E1019)) を再起動した後、通知を受け取ることができるのは奇妙です。

皆さんの助けに感謝します。

ところで、割り当てが解除されていない場合、オブジェクトは通知を受け取ります。

于 2012-04-11T05:17:03.347 に答える
0

以下はあなたの問題です-私の問題は、A2に通知を投稿すると、A2がそれを受け取ることができることです。ただし、A1 にポップすると、A1 に変更はありません。

A1 にポップすると、その時点で A2 の割り当てが解除され、そこで作成した通知/リスナーも削除されるため、通知に応答しません。A1 にも通知をリッスンさせたい場合は、A1 にもオブザーバーを追加する必要があります。

于 2012-04-11T05:03:53.423 に答える
0

あくまでも推測ですが、

viewDidLoad: または viewDidAppear: で通知を登録していますか? viewDidUnload: または viewDidDisappear: で登録解除していますか?

ビュー コントローラは通知が表示されている間だけ通知に関心があるため、通常は、表示/非表示メソッドを使用して通知を登録するのが最良の選択です。

ただし、どちらのアプローチを使用する場合でも、登録と登録解除の呼び出しが一致する UIViewController メソッドにあることを確認してください。

于 2012-04-11T04:27:30.990 に答える