Swift - 从文档目录中删除自定义文件夹
Posted
技术标签:
【中文标题】Swift - 从文档目录中删除自定义文件夹【英文标题】:Swift -Delete Custom Folder From Documents Directory 【发布时间】: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 有道理,感谢您的建议 :)
【参考方案1】:
在函数参数中我应该传入“MyFolder”还是“/MyFolder”?
“MyFolder”,因为 appendingPathComponent 会自动添加 /。
【讨论】:
以上是关于Swift - 从文档目录中删除自定义文件夹的主要内容,如果未能解决你的问题,请参考以下文章
swift:从自定义应用程序加载时,iCloud 文档似乎被禁用