向多个观察者发布通知

时间:2013-06-03 11:59:48

标签: iphone ios nsnotificationcenter

我需要一个关于向多个观察者发布通知的详细教程。 这是我的代码

-(void)viewDidLoad

{

 NSString *notificationName = @"MT";

 [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(useNotificationWithString:)
                                              name:notificationName
                                            object:nil];

}

这是我想要向其他类的对象发布通知的当前对象。

4 个答案:

答案 0 :(得分:2)

您不会向多个对象发布通知。相反,您有多个对象监视通知,然后当您希望它们全部接收该通知时,您将其发布到通知中心。通知中心负责通知观察对象。

答案 1 :(得分:1)

为要接收通知的每个对象添加相同的观察者。然后在某处发布通知,所有观察者都会收到通知。不要忘记在每个对象的[[NSNotificationCenter defaultCenter]removeObserver:self]-(void)dealloc方法中拨打-(void)viewDidUnload

答案 2 :(得分:1)

您永远不会向多个观察者发布通知,事实观察员会观察您的通知。

您使用通知名称发布一次通知。

在所有类中添加 OBSERVER,以便发布已发布的通知。

您要观察的每个班级都有以下内容:

[[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(useNotificationWithString:)
                                              name:notificationName
                                            object:nil];

您可以在Apple文档中获取full notes here

答案 3 :(得分:0)

您应该在每个希望接收通知的班级的每个班级中添加这些代码。

并使用下一代码为所有对象发布通知:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MT" object:self]