swift - removeItem(at: ) 成功删除目标文件时抛出异常
问题描述
在我的应用程序中,有一个函数可以删除给定 URL 处的文件。当我在 iPad 和 iPad 模拟器上运行它时, removeItem(at: ) 抛出“文件名”无法删除异常。但是,目标文件实际上已被删除。有没有人见过类似的问题?怎么解决?感谢您的关注!
do {
if FileManager().fileExists(atPath: url.path) {
try FileManager.default.removeItem(at: URL)
}
} catch {
print("Error when delete file, \(error)")
if !FileManager().fileExists(atPath: url.path) {
print("File was deleted")
}
}
输出是:
删除文件时出错,Error Domain=NSCocoaErrorDomain Code=4 ""A_wrinkle_in_time.epub" 无法删除。" UserInfo={NSUserStringVariant=(删除), NSFilePath=/Users/frankw/Library/Developer/CoreSimulator/Devices/3175FB37-784E-4735-B3A9-40A9807DCA3F/data/Containers/Data/Application/97025FFC-C707-46E2-9E75- 2CAF043022EB/Documents/A_wrinkle_in_time.epub,NSUnderlyingError=0x600000dc3780 {错误域=NSPOSIXErrorDomain Code=2“没有这样的文件或目录” }}文件被删除/Users/frankw/Library/Developer/CoreSimulator/Devices/3175FB37-784E-4735- B3A9-40A9807DCA3F/data/Containers/Data/Application/97025FFC-C707-46E2-9E75-2CAF043022EB/Documents
解决方案
我认为你的代码应该是:
try FileManager.default.removeItem(at: url)
推荐阅读
- python - 使 pip 包可用于 CGI
- arrays - 如何限制解析中数组列中的项目数
- python - 正则表达式 - 以更简洁的方式重复捕获组模式
- html - 您可以使用对外部 css 模块类的 css 选择器引用吗?
- php - Symfony:基表或视图已经存在:1050 表'migration_versions'已经存在
- swagger - 如何合并多个 OpenAPI 规范?
- git - 如何在本地将工作分支 A 合并到新分支 B..?
- python - 将时间序列分组为不均匀的频率
- c - 消费者在数组已满之前不会启动
- python - 如何使用具有索引值的 numpy 数组将另一个 numpy 数组的元素设置为 0?