从 NSDocument 获取 NSDocumentController

Getting NSDocumentController from NSDocument

我已经对 NSDocumentController 和 NSDocument 进行了子类化。有没有办法从 MyDocument 访问 MyDocumentController?

目前我的 AppDelegate 中有一个连接到 MyDocumentController 的插座,所以我可以通过这种方式进行操作,但想知道是否有更直接接受的方式?

你不需要插座或类似的东西。 NSDocumentController 是一个单例,这意味着只有一个实例管理整个应用程序的文档。因为您的 nib 中有自定义文档控制器,所以它是第一个被实例化的,因此 成为 共享文档控制器。所以你所要做的就是检索共享文档控制器:

在Objective-C中:

MyDocumentController *sharedController = [MyDocumentController sharedDocumentController];

在Swift中:

let sharedController = MyDocumentController.shared()