0

さまざまなナビゲーション コントローラーを使用してアプリを作成しています。それらはすべて最初に初期化されます。

たとえば、3 つのナビゲーション コントローラー A、B、C があるとします。

B(たとえばB1)からのView Controllerは、A(たとえばA1)のView Controllerから聞こえるはずの通知を送信します。その後、コントローラ A1 を表示します。

ただし、最初からビュー コントローラー B1 にいる (そしてビュー コントローラー A1 に行ったことがない) 場合、A1 は通知を受け取りません。しかし、それは2回目に取得されます。

または、A1 内に 1 回入ると、通知が適切に受信されます。

誰でも親切に助けてもらえますか?ありがとう。

注意: リスナーのコードは A1 の init にあります。ヒットします(ブレークポイントを使用して確認しました)。

4

2 に答える 2

0

NSNotification はすべてのアプリで監視できます。したがって、あなたが計画していることを実行するには、ブール値フラグまたはカウンターを使用します。これらのインジケーターを appDelegate クラスに入れるか、グローバル変数を使用できます。

于 2012-05-27T16:57:08.750 に答える
0

ビューが一度表示された後に通知を受け取ると言っているので、ビューが表示されるまで実行されないメソッド ( 、 など) で通知を登録していると思われviewDidLoadますviewDidAppear:

initこの場合は、ViewController で使用しているメソッドに通知登録を移動してみてください。

于 2012-05-26T23:15:31.333 に答える