Search code examples
cocoansuserdefaultsnsnotifications

NSUserDefaultsDidChangeNotification not firing when it should… or at all?


In my application, I have registered the NSUserDefaultsDidChangeNotification notification in awakeFromNib along with my other notifications (which are working fine). I register it just as shown below, which appears to be correct:

- (void)awakeFromNib
{
    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(myAction:) name:NSUserDefaultsDidChangeNotification object:nil];
}

and my action method appears to be correctly formatted as well:

- (void)myAction:(NSNotifcation*)notifcation
{
    NSLog(@"foo);
}

For unknown reasons, however, it refuses to fire at all. No matter how many of the application's defaults are changed, it never fires even once. Am I registering wrong or is something else the cause? Has anybody else experienced this problem in the past?


Solution

  • Have you tried using [NSNotificationCenter defaultCenter] instead of the workspace notification center?