タブバーアプリがあり、2つのタブが同じクラス(異なるインスタンス)を使用してUITableViewを表示しています。クリックされたタブに基づいて、外観や機能などにいくつかの小さな変更が加えられます。私が抱えている問題は、UITableViewからモーダルビューを表示し、それが閉じられると、NSNotificationを送信してUITableViewをリロードすることです( UITableViewのビューコントローラ)ですが、アプリに同じクラスのインスタンスが2つあるため、2つのNSNotificationsが投稿されます。通知が呼び出されたインスタンスだけで通知が投稿されるようにするにはどうすればよいですか?
1 に答える
3
のハンドラーを設定するときに、 関心のある通知NSNotification
の対象を指定できます。object
最初のテーブルビューコントローラーは、モーダルビューコントローラーの特定のインスタンスから投稿された通知のみに関心があるように設定し、2番目のテーブルビューコントローラーは、モーダルビューコントローラーの特定のインスタンスから投稿された通知のみに関心があるように設定する必要があります。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handler:)
name:notificationName
object:instanceOfModalViewController];
このように、モーダルビューコントローラから通知が投稿されると、関心を指定したテーブルビューコントローラのみが通知を処理します。
于 2011-02-28T16:20:54.853 に答える