0

いくつかのView Controllerがあり、それぞれにラベルまたはボタンがあります。AppDelegate から表示されるビュー コントローラーのボタンまたはラベルのテキストを変更したい。私はそれが悪い習慣であることを知っていますが、私は AppDelegate でバックグラウンド スレッドを実行し、サーバー上でユーザーの新しい画像を探します。ある場合は、現在表示されているビューのナビゲーション バーのラベルにある新しい画像カウンターを更新する必要があります。 .

私の考えは、AppDelegate.m の次のコードで使用することでした。(ControllerWhichLabelIWantToChange*) self.navigationControllerClass.visibleviewcontroller. ...しかし、ここでは、ControllerWhichLabelIWantToChange でプロパティを定義するラベルまたはボタンが表示されません。

では、AppDelegate からさまざまなビュー コントローラーの要素にアクセスして変更するにはどうすればよいのでしょうか。

4

1 に答える 1

4

NSNotificationCenterを使用して、さまざまな変更に関する通知を送信することをお勧めします。自分自身を更新したいビューは、そのような通知に応答できます。これは一般的な方法です。たとえば、バックグラウンドでテーマ データを処理していて、テーマ設定が必要なライブ ビューが 20 あるとします。バックグラウンド プロセスが完了したときに通知を投稿すると、通知を監視しているすべてのビューに通知されます。そして彼らは自分自身を更新することができます。

于 2013-02-07T16:45:28.140 に答える