草庐IT

nssavepanel

全部标签

swift - macOS - 如何让 NSSavePanel 在文件名中添加文件扩展名?

我使用此代码让用户可以选择指定名称和在磁盘上保存纯文本文件的位置。一切似乎都有效,但保存的文件没有任何扩展名。实际上我没有在代码的任何部分指定扩展名,我阅读了NSSavePanel文档而没有注意到解释此选项的部分。这是我使用的代码:lettextToExport=mainTextField.textStorage?.stringiftextToExport!=""{letmySave=NSSavePanel()mySave.begin{(result)->Voidinifresult==NSFileHandlingPanelOKButton{letfilename=mySave.url

swift - 如何在 MacOS 中显示 NSSavePanel?

我试图在MacOSX上显示NSSavePanel(或任何“保存文件对话框”)。我正在Swift4(或4.2?我不确定)的XCode版本9.3(9E145)中构建COCOA应用程序。我已经尝试了一切...像这样?letsavePanel=NSSavePanel()savePanel.begin{(result)inifresult.rawValue==NSApplication.ModalResponse.OK.rawValue{}}这个?letsavePanel=NSSavePanel()savePanel.canCreateDirectories=truesavePanel.show

swift - 自定义沙盒 NSSavePanel 警报

我正在使用委托(delegate)的panel(_:validate)方法验证来自NSSavePanel的url,如果url无效则抛出错误。在这种情况下,NSSavePanel会显示一个警报,我想根据抛出的错误对其进行自定义(意味着呈现一些人类可读的描述),保持保存面板窗口打开,然后让您选择另一条路径。LocalizedError在不使用AppSandbox时工作得很好,但在沙盒应用程序中,错误描述的getter永远不会被调用,并且警报中的消息是通用的“操作无法完成。(#yourErrorType)”,我猜不知何故是由沙盒NSSavePanel的不同继承链引起的。我正在努力寻找解决此问

swift - 在 Sandbox 中使用 Cocoa NSSavePanel 导致断言失败

我正在尝试使用NSSavePanel并将这一行添加到我的代码中。lettest=NSSavePanel()每次调用此代码时都会出现此错误。我不太确定这里发生了什么,因为我只是在创建一个新对象。任何帮助表示赞赏。谢谢!***Assertionfailurein-[NSVBSavePanelviewWillInvalidate:],/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1561.20.106/Nav.subproj/OpenAndSavePanelRemote/NSVBOpenAndSavePanels.