0

我正在使用将一些对象保存到文件中Key Value Coding。我希望隐藏已保存文件的扩展名(或者至少隐藏,除非 Finder → 首选项 → 高级“显示所有文件扩展名”中的值是真的),但我似乎无法让它工作。

我像这样保存文件:

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 中查看保存的文件时,扩展名始终可见。我该如何解决这个问题?

4

1 回答 1

2

在 Willeke 建议之后,我在编写文件后使用NSFileManager's设置属性setAttributes:ofItemAtPath:error

do { try NSFileManager.defaultManager().setAttributes
    ([NSFileExtensionHidden: NSNumber(bool: true)], ofItemAtPath: saveDialog.URL!.path!) } 

catch _{ Swift.print("Unable to hide extension") }
于 2016-07-21T05:08:33.667 回答