您好我正在尝试在我的应用程序中使用NSNotification中心。未从代码中调用选择器方法。我在此站点中发现类似问题,如this,但仍无法解决错误。
我在appdelegate中发布通知确实完成了启动:
[[NSNotificationCenter defaultCenter] postNotificationName:@"ualert" object:self userInfo:userDict];
在其中一个视图控制器中添加一个观察者:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(remoteNotificationReceived:)
name:@"ualert"
object:nil];
我的选择方法是:
- (void)remoteNotificationReceived:(NSNotification *)notification
{
NSLog(@"Notification: %@", notification.userInfo);
}
将观察者移除为:
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
答案 0 :(得分:1)
您要在ualert
中发布applicationDidFinishLaunching
,这必须在加载视图控制器之前发生(因此在添加通知的观察者之前)。