Наименование папки в каталоге документов Swift - PullRequest
1 голос
/ 27 июня 2019

Я использую следующий код (взят из другого ответа) для создания папки в каталоге документов (мое приложение требует экспорта файла). Я пытаюсь назвать эту папку, но папка создается с именем проекта Xcode, а не с именем, которое я указал:

func createFileDirectory() {
    let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])

//set the name of the new folder
    let folderPath = documentsPath.appendingPathComponent("MY NAME HERE")
    do
    {
        try FileManager.default.createDirectory(atPath: folderPath!.path, withIntermediateDirectories: true, attributes: nil)
    }
    catch let error as NSError
    {
        NSLog("Unable to create directory \(error.debugDescription)")
    }
}

Таким образом, когда пользователь может сохранять в файлы, он должен разрешить ему сохранять в папку с именем «МОЯ ПАПКА ЗДЕСЬ», но он просто создает папку с именем проекта Xcode («MY_PROJECT»)

Я не могу найти никаких других ответов, кроме того, который дал мне ответ в первую очередь здесь

Я не вижу, где я делаю что-то не так? Он создает папку a , игнорирует имя?

UPDATE

После ответов я обновил метод URL API и удалил пробелы из имени целевой папки, но все еще получаю неправильное имя папки (из имени проекта)

обновленный код:

func createFileDirectory() {
    let documentsURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)

    //set the name of the new folder
    let folderURL = documentsURL.appendingPathComponent("FirstDraft")
    do
    {
        try FileManager.default.createDirectory(at: folderURL, withIntermediateDirectories: true)
    }
    catch let error as NSError
    {
        NSLog("Unable to create directory \(error.debugDescription)")
    }
}

1 Ответ

2 голосов
/ 27 июня 2019

Пожалуйста, используйте API, связанный с URL. Это намного надежнее

func createFileDirectory() {
    let documentsURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)

    //set the name of the new folder
    let folderURL = documentsURL.appendingPathComponent("MY NAME HERE")
    do
    {
        try FileManager.default.createDirectory(at: folderURL, withIntermediateDirectories: true)
    }
    catch let error as NSError
    {
        NSLog("Unable to create directory \(error.debugDescription)")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...