3

NSNotificationCenter用来在基于文档的应用程序中发送自定义通知。

基于文档的应用程序可以有许多打开的文档。理想情况下,我希望文档及其子级仅接收在文档或其子级中创建的通知。换句话说,一个文档应该只接收同一个文档生成的通知。

起初我以为我可以使用notificationSender参数 ofaddObserver:selector:name:object:但后来我意识到我并不总是知道哪个对象会发送通知。

我是否必须检查我是否在每个自定义通知的正确文档中?有一个更好的方法吗?

4

2 回答 2

3

我认为如果您将主文档notificationSender用作addObserver:selector:name:object:postNotificationName:object:.

于 2012-09-04T18:46:45.760 回答
2

NotificationCenter您可以在您的类中定义 aNSDocument并使用它在文档中发布通知(Swift):

class Document: NSDocument {

    let notificationCenter = NotificationCenter()

    // Other stuff
}

并这样称呼它:

document.notificationCenter.post(name: yourNotificationIdentifier, object: nil)
于 2019-12-25T14:43:39.903 回答