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

Creating Folder in Application Support if not Exists

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

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

但是没有文件夹created.What我是不是做错了?

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

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

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

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

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