Objective c [NSWorkspace notificationCenter]与NSDistributedNotificationCenter

Objective c [NSWorkspace notificationCenter]与NSDistributedNotificationCenter,objective-c,cocoa,Objective C,Cocoa,使用[NSWorkspace notificationCenter]或使用NSDistributedNotificationCenter有什么区别?它们的用途是什么?它们各自的优缺点是什么 我试图通过阅读苹果的文档来理解这一点,但它并没有提供太多的信息。它表示[NWorkspace notificationCenter]“返回工作区通知的通知中心”。我如何知道什么是工作区通知?我有一个观察者,观察活动应用程序中的更改并使用工作区通知: [[[NSWorkspace sharedWorkspace

使用
[NSWorkspace notificationCenter]
或使用
NSDistributedNotificationCenter
有什么区别?它们的用途是什么?它们各自的优缺点是什么

我试图通过阅读苹果的文档来理解这一点,但它并没有提供太多的信息。它表示
[NWorkspace notificationCenter]
“返回工作区通知的通知中心”。我如何知道什么是工作区通知?我有一个观察者,观察活动应用程序中的更改并使用工作区通知:

[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(windowChangeNotification:) name:NSWorkspaceDidActivateApplicationNotification object:nil];`
但我读过一些示例代码,其中提到如果要检测屏幕关闭,可以使用
NSDistributedNotificationCenter

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(screenIsLocked:) name:@"com.apple.screenIsLocked" object:nil];

我原以为您会使用类似的方法来检测这些通知。但是您使用不同的通知中心。有人能帮我吗?

你不清楚的地方不太清楚。一组通知由工作区发布,另一组由分布式通知中心处理(这些通知来自其他应用程序)。工作区通知为。你能澄清一下吗?我很确定你刚刚完成了OP的工作。你应该将此作为答案发布。是的,我不明白NSDistributedNotificationCenter只处理来自其他应用程序的通知。这是令人困惑的,因为我没有想到屏幕锁(如我上面的例子)来自应用程序。