【问题标题】:removeItem(at: ) throw exception while successfully removed target fileremoveItem(at: ) 成功删除目标文件时抛出异常
【发布时间】:2021-08-07 08:13:13
【问题描述】:

在我的应用程序中,有一个函数可以删除给定 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

【问题讨论】:

    标签: swift


    【解决方案1】:

    我认为你的代码应该是:

    try FileManager.default.removeItem(at: url)
    

    【讨论】:

    • 感谢您的建议!我试过 removeItem(atPath: url.path)。它产生相同的错误结果。
    • 可能是 removeItem(at: url) 而不是 removeItem(atPath: url.path)。编辑我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2014-08-25
    • 2017-09-01
    • 2013-05-24
    • 1970-01-01
    相关资源
    最近更新 更多