如果不存在,则在应用支持中创建文件夹

时间:2017-10-12 12:55:59

标签: swift macos nsfilemanager

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

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)
}

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

1 个答案:

答案 0 :(得分:5)

发生错误是因为您传递的URL的字符串表示形式包含file://方案,但createDirectory(atPath期望path没有file://方案。

解决方案非常简单:(始终)使用FileManager

的URL相关API
try FileManager.default.createDirectory(at: fileurl, withIntermediateDirectories: true)

请考虑更有意义的变量命名

  • path实际上是url
  • fileurl实际上是folderurl