swift - 保存文件但隐藏文件扩展名 - Cocoa with Key Value Coding

标签 swift cocoa nsfilemanager key-value-coding nssavepanel

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

我像这样保存文件:

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

最佳答案

根据Willeke的建议,我在写入文件后使用NSFileManagersetAttributes:ofItemAtPath:error设置属性。

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

catch _{ Swift.print("Unable to hide extension") }

关于swift - 保存文件但隐藏文件扩展名 - Cocoa with Key Value Coding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38453776/

相关文章:

cocoa 系统()进展?

objective-c - 使用 NSFileManager 访问 mac 共享上的文件

ios - 复制时如何使用 [NSFileManager defaultManager] 覆盖文件夹?

swift - 关闭 NSWindow 但不要将其置零

ios - 保存到 NSApplicationSupportDirectory 的问题

ios - 如何在 Swift 中的 UITableViewCell 之间插入一个新单元格

swift - 使用 ARSCNView 后从场景中删除节点

ios - 调整 UICollectionViewCell 大小以适合图像

ios - 为什么旋转只发生一次?

objective-c - 带有数组的核心数据获取请求