Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Cocoa-添加菜单以支持版本?(如文本编辑)_Macos_Cocoa_Nsdocument_Autosave - Fatal编程技术网

Macos Cocoa-添加菜单以支持版本?(如文本编辑)

Macos Cocoa-添加菜单以支持版本?(如文本编辑),macos,cocoa,nsdocument,autosave,Macos,Cocoa,Nsdocument,Autosave,在文本编辑中,如果您单击文件名旁边的小下拉列表,您会看到一个菜单,其中显示了两个条目,包括重命名,移动到iCloud,移动到,复制,锁定,最后是浏览所有版本 我想知道如何支持这个菜单?在我的应用程序中,我有披露指示器,但没有我点击它的菜单。我需要通过代码添加此菜单吗?如果是这样的话,我假设我需要以某种方式将它链接到窗口,但我没有看到一个合适的位置来这样做。对我遗漏的东西有什么建议吗 在基于文档的应用程序中使用NSDocument子类时,您可以“免费”获得此功能。只要您实现了此处概述的所有内容:

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

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


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

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

需要考虑的事项:

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

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

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

    需要考虑的事项:

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

  • 我明白了。我是压倒:

    
    -(无效)菜单取消日期:(NSMenu*)菜单
    


    我不需要重写这个方法,所以我删除了它。我一做到这一点,我的菜单就开始工作了。

    找到了答案。我是压倒:

    
    -(无效)菜单取消日期:(NSMenu*)菜单
    


    我不需要重写这个方法,所以我删除了它。我一做这件事,菜单就开始起作用了。

    你把披露三角放在那里了吗?顺便说一句,我喜欢你的工具栏图标@特洛伊敌人我没有添加披露三角。我正在努力添加版本支持,当我为NSDocument对象的
    preservesVersions
    autosavesInPlace
    返回true时,就会出现披露三角。感谢您对图标的评论,我将把它传递给设计师!你把披露三角放在那里了吗?顺便说一句,我喜欢你的工具栏图标@特洛伊敌人我没有添加披露三角。我正在努力添加版本支持,当我为NSDocument对象的
    preservesVersions
    autosavesInPlace
    返回true时,就会出现披露三角。感谢您对图标的评论,我将把它传递给设计师!1.我可以支持10.7+2。我没有做任何自定义的标题栏。3.我相信我子类化的方法是现代的:
    -(NSData*)dataOfType:(NSString*)typeName error:(NSError**)outError
    -(BOOL)readFromFileWrapper:(NSFileWrapper*)fileWrapper of type:(NSString*)typeName error:(NSError**)outError
    。我已经阅读了该文档,我相当肯定我已经添加了对所有内容的支持。我想在这一点上,我将尝试创建一个基本的文本编辑应用程序,看看是否可以让版本正常工作。看看上面的答案,我会说“搞乱标题栏的菜单”算作“自定义与窗口标题栏相关的任何内容”。:-)很高兴你找到了它。请将您的答案标记为已接受,以结束问题。1。我可以支持10.7+2。我没有做任何自定义的标题栏。3.我相信我子类化的方法是现代的:
    -(NSData*)dataOfType:(NSString*)typeName error:(NSError**)outError
    -(BOOL)readFromFileWrapper:(NSFileWrapper*)fileWrapper of type:(NSString*)typeName error:(NSError**)outError
    。我已经阅读了该文档,我相当肯定我已经添加了对所有内容的支持。我想在这一点上,我将尝试创建一个基本的文本编辑应用程序,看看是否可以让版本正常工作。看看上面的答案,我会说“搞乱标题栏的菜单”算作“自定义与窗口标题栏相关的任何内容”。:-)很高兴你找到了它。请将您的答案标记为已接受,以结束问题。