NSUserDefaultsDidChangeNotification 在应该触发时没有触发或者根本没有?

发布于 2024-11-20 00:08:27 字数 517 浏览 2 评论 0原文

在我的应用程序中,我已在 awakeFromNib 中注册了 NSUserDefaultsDidChangeNotification 通知以及其他通知(工作正常)。我如下所示注册它,这似乎是正确的:

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

并且我的操作方法似乎格式也正确:

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

但是,由于未知的原因,它根本拒绝触发。无论应用程序的默认设置发生了多少变化,它都不会触发一次。是我注册错误还是其他原因?过去还有其他人遇到过这个问题吗?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朕就是辣么酷 2024-11-27 00:08:27

您是否尝试过使用 [NSNotificationCenter defaultCenter] 而不是工作区通知中心?

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文