use*_*482 7 nsfilemanager ios swift swift3
我正在尝试从文档目录中FileManager.default.removeItem删除文件但不删除模拟器上的文件.这是我的代码:
if let dir = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first {
do{
let path = dir.appendingPathComponent(file).absoluteString
do{
try FileManager.default.removeItem(atPath:path)
}catch{
print(error)
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我总是失败.你们中的任何人都知道它失败的原因
你可以像这样写:
var filemanager = FileManager.default
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0] as NSString
let destinationPath = documentsPath.appendingPathComponent("Filename.jpg")
try! filemanager.removeItem(atPath: destinationPath)
Run Code Online (Sandbox Code Playgroud)
absoluteString是错误的API,该file://方案的正确属性是path.
最好的解决方案是使用与URL相关的API
let fileURL = dir.appendingPathComponent(file)
Run Code Online (Sandbox Code Playgroud)
...
try FileManager.default.removeItem(at: fileURL)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5801 次 |
| 最近记录: |