swift - 如何以编程方式保存 NSDocument?

标签 swift macos cocoa macos-sierra nsdocument

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

最佳答案

我想说 (B) 是最容易做到的。您所要做的就是从链上的任何 NSResponder 调用此行(例如您的 View Controller ):

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

这与从菜单栏中选择“保存”具有完全相同的效果。

关于swift - 如何以编程方式保存 NSDocument?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40657341/

相关文章:

ios - 从 Firebase Swift 加载后单元格不显示图像

ios - 使用 iOS 图表进行交互式跟踪。如何

ios - Swift:我应该为 Firebase 管理器类使用静态成员吗​​?好的程序设计

python - 为什么在mac上使用PyQt5不能添加图标?

ios - cocoa : "perspective transform"可用吗?

objective-c - 将包含一些 CALayers 的 NSView 渲染到 NSImage

ios - 将字节数组转换为 UIImage

ios - 用于 macOS 的具有属性 'color' 的片段着色器参数

Objective-C - 循环遍历所有已安装的应用程序

ios - 应用程序在 "Open in.."菜单中显示为 "Copy to MyApp"