用户必须保存文件,但我只希望他们将文件保存在一个文件夹中。这该怎么做?
我已经尝试过实现委托并在目录不同时强制设置它。这不起作用。保存面板打开时,用户仍然可以选择其他文件夹
extension Project: NSOpenSavePanelDelegate {
func panel(_ sender: Any, didChangeToDirectoryURL url: URL?) {
if url != testsFolder {
(sender as! NSSavePanel).directoryURL = testsFolder
}
}
func panel(_ sender: Any, validate url: URL) throws {
if url.deletingLastPathComponent() != testsFolder {
(sender as! NSSavePanel).directoryURL = testsFolder
throw ProjectError.scriptInitiliation
}
}
}