iosnsnotificationcenteraddobserver

NSNotification - check if an observer is added before posting a notifiation


my code is crashing at:

[[NSNotificationCenter defaultCenter] postNotificationName:kgotNotification object:dictionary];

my assumption is that I am posting a notification before the observer is added.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getItems:) name:kgotNotification object:nil];

is there a way to check for the list of active observers before posting a notification?


Solution

  • You should do it like this:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getItems:) name:kgotNotification object:nil];
    [[NSNotificationCenter defaultCenter] postNotificationName:kgotNotification object:self userInfo:dictionary];
    

    Then your getItems Method:

    -(void)getItems:(NSNotification* )note
    {
        NSLog(@"UserInfo: %@", note.userInfo);
    }