FileManager.default.removeItem 没有删除文件
FileManager.default.removeItem not removing file
我正在尝试使用 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)
}
}
}
但我总是失败。你们有人知道它为什么失败吗?
你可以这样写:
var filemanager = FileManager.default
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0] as NSString
let destinationPath = documentsPath.appendingPathComponent("Filename.jpg")
try! filemanager.removeItem(atPath: destinationPath)
absoluteString
是错误的API,file://
方案的正确属性是path
.
最好的解决办法是使用URL相关的API
let fileURL = dir.appendingPathComponent(file)
...
try FileManager.default.removeItem(at: fileURL)
我正在尝试使用 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)
}
}
}
但我总是失败。你们有人知道它为什么失败吗?
你可以这样写:
var filemanager = FileManager.default
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true)[0] as NSString
let destinationPath = documentsPath.appendingPathComponent("Filename.jpg")
try! filemanager.removeItem(atPath: destinationPath)
absoluteString
是错误的API,file://
方案的正确属性是path
.
最好的解决办法是使用URL相关的API
let fileURL = dir.appendingPathComponent(file)
...
try FileManager.default.removeItem(at: fileURL)