不调用NSNotificationCenter选择器方法

时间:2014-10-22 14:39:25

标签: ios objective-c nsnotificationcenter nsnotification

您好我正在尝试在我的应用程序中使用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];
   }

1 个答案:

答案 0 :(得分:1)

您要在ualert中发布applicationDidFinishLaunching,这必须在加载视图控制器之前发生(因此在添加通知的观察者之前)。