-3

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

-(void)viewDidLoad

{

 NSString *notificationName = @"MT";

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

}

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

4

4 回答 4

3

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

于 2013-06-03T12:10:26.653 回答
1

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

于 2013-06-03T12:10:53.393 回答
1

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

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

并在所有将观察已发布通知的类中添加OBSERVER 。

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

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

您可以在 Apple 文档中获得完整的注释。

于 2013-06-03T12:12:42.607 回答
0

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

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

[[NSNotificationCenter defaultCenter] postNotificationName:@"MT" object:self]
于 2013-06-03T14:44:39.200 回答