我正在尝试在应用程序支持目录中创建一个文件夹。

let path = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0]
let fileurl =  path.appendingPathComponent("my folder")
do {
try FileManager.default.createDirectory(atPath:String(describing: fileurl), withIntermediateDirectories: true, attributes: nil)
} catch {
 print(error)
}

但没有创建文件夹。我做错了什么?

最佳答案

出现此错误是因为您正在传递包含file://方案的URL的字符串表示形式,但createDirectory(atPath要求不包含path方案的URL的字符串表示形式。
解决方案非常简单:(总是)使用与url相关的apifile://

try FileManager.default.createDirectory(at: fileurl, withIntermediateDirectories: true)

请考虑一个更有意义的变量命名
FileManager实际上是path
url实际上是fileurl

10-08 06:28