NSNotification ......正确的方法?

时间:2011-02-28 16:10:59

标签: iphone objective-c cocoa ios nsnotifications

我有一个标签栏应用程序,2个标签使用相同的类(不同的实例)来显示UITableView。基于单击哪个选项卡,对外观,功能等进行了一些小的更改。我遇到的问题是,从UITableView我显示模态视图,当它被解除时,它会发布一个NSNotification来重新加载UITableView(由UITableView的视图控制器),但我发布了2个NSNotifications,因为我的应用程序中有2个同一个类的实例。如何才能将通知发布到从中调用的实例中?

1 个答案:

答案 0 :(得分:3)

NSNotification设置处理程序时,您可以为您感兴趣的通知指定object

您应该将您的第一个表视图控制器设置为仅对从模式视图控制器的特定实例发布的通知感兴趣,并将您的第二个表视图控制器仅对从发布的通知感兴趣模态视图控制器的特定实例:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handler:)
                                             name:notificationName 
                                           object:instanceOfModalViewController];

这样,当您从模态视图控制器发布通知时,只有指定了其兴趣的表视图控制器才会处理通知。