【问题标题】:Swift -Delete Custom Folder From Documents DirectorySwift - 从文档目录中删除自定义文件夹
【发布时间】:2020-02-26 17:28:50
【问题描述】:

录制视频时,我使用"/MyFolder" 创建一个自定义文件夹,如下所示:

guard let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first else { return }
let dirPath = "\(documentsPath)/MyFolder/Videos_\(UUID().uuidString).mp4"

let outputFileURL = URL(fileURLWithPath: dirPath)
// ...

现在我有一个删除自定义文件夹的功能:

func deleteCustom(folder: String) {
    let fileManager = FileManager.default
    guard let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
    let customFolder = documentsDirectory.appendingPathComponent(folder)
    guard let filePaths = try? fileManager.contentsOfDirectory(at: customFolder, includingPropertiesForKeys: nil, options: []) else { return }
    for filePath in filePaths {
        try? fileManager.removeItem(at: filePath)
    }
}

在函数参数中我应该传入"MyFolder"还是"/MyFolder"

【问题讨论】:

  • "MyFolder",因为appendingPathComponent 会自动添加/
  • @Asperi 谢谢!将其发布为答案,我会接受它
  • @LanceSamaria 无需枚举所有文件并一一删除。您可以简单地删除整个 customFolder fileManager.removeItem(at: customFolder)。如果您想保留一个空文件夹,只需在删除后重新创建即可。顺便说一句,不要忽略您的错误。你应该总是抓住他们。
  • @LeoDabus 感谢您的建议,这很有意义并且更容易。快速提问,迭代时删除文件需要多长时间,而不是像你建议的那样一次删除文件?
  • @LeoDabus 有道理,感谢您的建议 :)

标签: ios swift nsdocumentdirectory


【解决方案1】:

在函数参数中我应该传入“MyFolder”还是“/MyFolder”?

“MyFolder”,因为 appendingPathComponent 会自动添加 /。

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2011-08-06
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多