保存文件但隐藏文件扩展名 - 带有键值编码的Cocoa

时间:2016-07-19 08:55:00

标签: swift cocoa nsfilemanager key-value-coding nssavepanel

我使用Key Value Coding将一些对象保存到文件中。我希望隐藏保存文件的扩展名(或至少隐藏,除非Finder中的值→首选项→高级"显示所有文件扩展名"为真),但我可以&#39似乎让它发挥作用。

我像这样保存文件:

let saveDialog  = NSSavePanel()
        saveDialog.allowedFileTypes = ["purr"]

        saveDialog.beginWithCompletionHandler() { (result: Int) -> Void in
            if result == NSFileHandlingPanelOKButton {


                NSFileManager.defaultManager()
                    .createFileAtPath(saveDialog.URL!.path!, contents: NSData(), attributes: [NSFileExtensionHidden: NSNumber(bool: true)])
                let _ = NSKeyedArchiver.archiveRootObject(safePhrases, toFile: saveDialog.URL!.path!)
            }
        }

        return saveDialog.URL

但是在Finder中查看保存的文件时,扩展程序始终可见。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在Willeke建议之后,我在使用NSFileManager的{​​{1}}编写文件后设置了属性。

setAttributes:ofItemAtPath:error