Swift 删除目录中的内容时出错-Domain=NSCocoaErrorDomain Code=4 | Domain=NSPOSIXErrorDomain Code=2“;没有这样的文件或目录;

Swift 删除目录中的内容时出错-Domain=NSCocoaErrorDomain Code=4 | Domain=NSPOSIXErrorDomain Code=2“;没有这样的文件或目录;,swift,swift3,nsfilemanager,Swift,Swift3,Nsfilemanager,运行下面的代码时,如何修复以下错误?我已经搜索过了,但找不到Swift 3的任何内容 // Delete all files in given directory let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String let dataPath = NSURL(fileURLWithPath: path) if let enumerator = F

运行下面的代码时,如何修复以下错误?我已经搜索过了,但找不到Swift 3的任何内容

// Delete all files in given directory
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let dataPath = NSURL(fileURLWithPath: path)
if let enumerator = FileManager.default.enumerator(atPath: dataPath.path!) {
    while let fileName = enumerator.nextObject() as? String {
        do {
            try FileManager.default.removeItem(atPath: "\(dataPath)\(fileName)")
        }
        catch let e as NSError {
            print(e)
        }
        catch {
            print("error")
        }
    }
}
日志:

错误域=NSCOCAERRORDOMAIN Code=4“”。无法删除DS_存储区。“用户信息={NSFilePath”=file:///Users/CIPL0469/Library/Developer/CoreSimulator/Devices/F0106B28-C4D1-4FE2-A425-D04C6BFDDC01/data/Containers/Data/Application/A5AB9B7B-6174-4BA7-9EFD-0E9F1C98CB17/Documents/.DS_Store,NSUserStringVariant=( 去除 ),NSUnderlyingError=0x6080004FED0{Error Domain=NSPOSIXErrorDomain Code=2“没有这样的文件或目录”}

错误域=nscocaerorDomain代码=4“2017-01-31_10-44-21.m4a”无法删除。用户信息={NSFilePath=file:///Users/CIPL0469/Library/Developer/CoreSimulator/Devices/F0106B28-C4D1-4FE2-A425-D04C6BFDDC01/data/Containers/Data/Application/A5AB9B7B-6174-4BA7-9EFD-0E9F1C98CB17/Documents/2017-01-31_10-44-21.m4a,NSUserStringVariant=( 去除 ),NSUnderlyingError=0x6080004FA80{Error Domain=NSPOSIXErrorDomain Code=2“没有这样的文件或目录”}

错误域=nscocaerorDomain代码=4“2017-01-31_10-44-26.m4a”无法删除。用户信息={NSFilePath=file:///Users/CIPL0469/Library/Developer/CoreSimulator/Devices/F0106B28-C4D1-4FE2-A425-D04C6BFDDC01/data/Containers/Data/Application/A5AB9B7B-6174-4BA7-9EFD-0E9F1C98CB17/Documents/2017-01-31_10-44-26.m4a,NSUserStringVariant=( 去除 ),NSUnderlyingError=0x60000004f570{Error Domain=NSPOSIXErrorDomain Code=2“没有这样的文件或目录”}

(NS)DirectoryEnumerator的
nextObject()
始终返回枚举项的完整路径/url,附加的连接会中断路径。除了将
URL
String
与字符串插值连接起来作为
path
参数传递之外,根本不起作用

无论如何,我建议使用与URL相关的API

let fileManager = FileManager.default
do {
    let url = try fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
    if let enumerator = fileManager.enumerator(at: url, includingPropertiesForKeys: nil) {
        while let fileURL = enumerator.nextObject() as? URL {
            try fileManager.removeItem(at: fileURL)
        }
    }
}  catch  {
    print(error)
}
我只想说清楚:

让addr=one[“resourceAddr”]as!一串
做{
尝试FileManager.default.removietem(地址:URL(字符串:addr)!)
}将let错误捕获为NSError{
打印(“错误:,错误。本地化描述)
}