我正在使用键值编码
将一些对象保存到文件中。我希望隐藏已保存文件的扩展名(或者至少隐藏,除非 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的建议,我在写入文件后使用NSFileManager
的setAttributes: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/