在Mac应用程序中导出NSDocument

hpi*_*que 6 macos cocoa nsdocument

如何NSDocument以一种格式将另一种格式导出为另NSDocument一种格式?

我想在我的基于文档的应用程序中实现典型的导出选项.我不确定我应该在哪里放置格式转换代码,以及Cocoa已经提供的内容.

Sve*_*ven 7

NSDocument获取字符串参数中的所有写入选项以指定应写入的文件类型.因此,在您dataOfType:error:fileWrapperOfType:error:方法中,您应该为要支持的每种文件类型实现转换代码.

要启动导出操作,可以使用saveToURL:ofType:forSaveOperation:completionHandler:具有所需类型和保存操作的方法NSSaveToOperation.

有关可以覆盖以支持加载和保存文档数据的方法的更多信息,请查看此编程指南.

您可以再次使用类方法writableTypes或实例方法获取可用类型.writableTypesForSaveOperation:NSSaveToOperation

您需要支持的文件类型需要在Info.plist文件中声明.

  • 这涉及多种类型的文档(如图纸,文本文档,电子表格)而不是多种文件类型(如JPEG,GIF,PNG).可以编辑文本文档和绘图的应用程序将有两个"NSDocument"子类,一个用于文本文件,另一个用于绘图.两者都可以支持许多不同的文件格式. (2认同)