使用NSSavePanel,用户如何选择要保存的特定文件类型?

BWH*_*zel 6 cocoa objective-c nssavepanel

我在Cocoa中编写一个应用程序,允许用户以3种不同的格式导出数据:CSV,JSON和XML.我已将允许的扩展添加到NSSavePanel:

NSSavePanel* saveFile = [NSSavePanel savePanel];
NSArray* extensions = [[NSArray alloc] initWithObjects:@"csv", @"json" @"xml", nil];
[saveFile setAllowedFileTypes:extensions];
Run Code Online (Sandbox Code Playgroud)

但是,如何设置NSSavePanel以允许用户选择要保存的格式,例如在TextEdit中提供"文件格式"列表框?如果可以,那么我如何确定选择了哪种格式?

CRD*_*CRD 5

您可以添加一个用户自定义NSViewNSSavePanel使用setAccessoryView:,请参阅苹果的文档.还有一个Apple示例Custom Save.您将格式选择控件添加到此附件视图.