macos - Cocoa - 添加菜单以支持版本? (就像在文本编辑中一样)

标签 macos cocoa nsdocument autosave

在 TextEdit 中,如果单击文件名旁边的小下拉菜单,您会看到一个菜单,其中显示几个条目,包括重命名移动到 iCloud移动到复制锁定,最后浏览所有版本

TextEdit

我想知道如何支持这个菜单?在我的应用程序上,我有披露指示器,但没有得到我单击它的菜单。我需要通过代码添加此菜单吗?如果是这样,我假设我需要以某种方式将其链接到窗口,但我没有看到合适的地方这样做。对我缺少的东西有什么建议吗?

SQL

最佳答案

在基于文档的应用程序中使用 NSDocument 子类时,您可以“免费”获得此功能。只要您已实现此处概述的所有内容:

http://developer.apple.com/library/mac/#documentation/DataManagement/Conceptual/DocBasedAppProgrammingGuideForOSX/StandardBehaviors/StandardBehaviors.html

...版本控制应该“自动”工作,因为它直接受到实现自动保存的影响。

需要考虑的事情:

  1. 您的目标最低操作系统版本是什么?
  2. 您是否正在自定义与窗口标题栏相关的任何内容?
  3. 您的 NSDocument 子类是否实现了现代(未弃用)读/写方法,或者您正在做一些“旧的或时髦的”事情?

关于macos - Cocoa - 添加菜单以支持版本? (就像在文本编辑中一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13821282/

相关文章:

swift - NSCocoaErrorDomain Code=256 无法打开 “md” 格式的文件

excel - 如何确定我的 VB 代码是否在 Office 2016 for Mac 上运行?

python - pandas to_hdf 函数获取非法指令

swift - 如何安装j2objc

macos - 当图像插入一行时,NSTextField 在 NSTableView 中变得模糊

cocoa - 基于文档的应用程序中的不同菜单栏

objective-c - 您可以从枚举元素的数值访问实际标识符吗?

cocoa - 剪切 NSScrollView 上的圆角

objective-c - 从 NSData 创建多个 NSDocument 的最简洁方法

iphone - UIManagedDocument CompletionHandler 和 NSNotification