如何以编程方式保存 NSDocument?

How do I programmatically save an NSDocument?

我需要在控制文档视图的 NSViewController 方法中以编程方式保存基于 NSDocument 的应用程序的活动文档。菜单项通过将 save() 发送给第一响应者来完成此操作。以编程方式执行此操作的最佳方法是什么?我应该 A) 获取对 NSDocument 的引用(以某种方式),然后调用保存方法还是 B)向第一响应者发送保存:消息?

我会说 (B) 是最容易做到的。您所要做的就是从链中的任何 NSResponder 调用此行(例如您的视图控制器):

NSApp.sendAction(#selector(NSDocument.save(_:)), to: nil, from: self)

这与从菜单栏中选择 "Save" 的效果完全相同。