簡體   English   中英

macOS - 如何讓NSSavePanel在文件名中添加文件擴展名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM