我正在使用以下代码(从另一个答案中提取)在documents目录中创建一个文件夹(我的应用程序需要导出文件)。我正在尝试命名该文件夹,但是该文件夹是使用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)")
}
}
因此,当用户能够保存到文件时,应该允许他们保存到名为“ MY FOLDER HERE”的文件夹,但它只是使用Xcode项目的名称(“ MY_PROJECT”)创建一个文件夹
除了第一个给我答案的here
,我找不到其他答案。我看不到我在做什么错?它正在创建 a 文件夹,只是忽略该名称?
更新
以下答案我已经更新为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)")
}
}
答案 0 :(得分:2)
请使用与网址相关的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("MY NAME HERE")
do
{
try FileManager.default.createDirectory(at: folderURL, withIntermediateDirectories: true)
}
catch let error as NSError
{
NSLog("Unable to create directory \(error.debugDescription)")
}
}