【发布时间】: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