如何在 MacOS 中显示 NSSavePanel?

Ish*_*mas 7 io macos xcode swift swift4

我正在尝试在 Mac OSX 上显示 NSSavePanel(或任何“保存文件对话框”)。我正在 Swift 4(或 4.2?我不确定)的 XCode 版本 9.3 (9E145) 中构建 COCOA 应用程序。

我什么都试过了...

像这样?

    let savePanel = NSSavePanel()
    savePanel.begin { (result) in
        if result.rawValue == NSApplication.ModalResponse.OK.rawValue {


        }
    }
Run Code Online (Sandbox Code Playgroud)

这个?

    let savePanel = NSSavePanel()
    savePanel.canCreateDirectories = true
    savePanel.showsTagField = false
    savePanel.nameFieldStringValue = "result.csv"
    savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
    savePanel.begin { (result) in
        if result.rawValue == NSApplication.ModalResponse.OK.rawValue {


        }
    }
Run Code Online (Sandbox Code Playgroud)

许多许多其他方式...

我错过了什么?谢谢!

The*_*man 15

您的应用程序是沙盒的吗?(项目 > 功能 > 应用沙盒)

如果是这样,请确保将“用户选择的文件”的“文件访问”更改为读/写。

当我这样做时,你的第一个片段对我来说很好用。

在此处输入图片说明