[英]macOS - How to have NSSavePanel to add a file extension in the file name?
我正在使用此代碼為用戶提供選擇,以指定在磁盤上保存純文本文件的名稱和位置。 一切似乎都有效,但保存的文件沒有任何擴展名。 實際上我沒有在我的代碼的任何部分指定擴展名,我讀了NSSavePanel文檔,恕不另行通知解釋此選項的部分。
這是我正在使用的代碼:
let textToExport = mainTextField.textStorage?.string
if textToExport != "" {
let mySave = NSSavePanel()
mySave.begin { (result) -> Void in
if result == NSFileHandlingPanelOKButton {
let filename = mySave.url
do {
try textToExport?.write(to: filename!, atomically: true, encoding: String.Encoding.utf8)
} catch {
// failed to write file (bad permissions, bad filename etc.)
}
} else {
NSBeep()
}
}
}
添加行
mySave.allowedFileTypes = ["txt"]
在提交小組之前。
從文檔 :
此屬性的值指定用戶可以將文件另存為的文件類型。 文件類型可以是公共文件擴展名,也可以是UTI。 此屬性的默認值為nil,表示可以使用任何文件類型。 (注意,如果數組不是nil且數組不包含任何項,則會引發異常。)
如果用戶未給出擴展名,則allowedFileTypes數組中的第一項將用作保存面板的擴展名。 如果用戶指定不在數組中的類型,並且allowOtherFileTypes為true,則在提示保存時將向其顯示另一個對話框。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.