我用下面的代碼來刪除文件存儲文件:快速刪除文本文件:這些文件是否真的被刪除?
class func removeFile(_ itemName:String, fileExtension: String) {
let fileManager = FileManager.default
let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
guard let dirPath = paths.first else {
return
}
let filePath = "\(dirPath)/\(itemName)"
do {
try fileManager.removeItem(atPath: filePath)
print("remove done")
} catch let error as NSError {
print(error.debugDescription)
}
}
一切正常,文件從文件目錄中刪除(我下載並檢查容器),
檢查時出現問題我發現當我刪除這些txt文件時,應用程序的大小並沒有縮小(它們非常大,比如4,5 MB,因此這個數據文件中的11.7 MB可能來自它們)
我的問題是:
我的代碼真的會刪除文件嗎?或者,也許只是刪除對它的引用,所以內存不能被釋放?
看一看[這個答案](http://stackoverflow.com/questions/7547517/how-to-securely-erase-a-file-in-ios) –
當你下載並檢查容器,如何它是多大?您是否確保刷新使用情況頁面(應用程序的使用情況不會自動更新)。它應該在使用'removeItem'之後下降;這是一個相當標準的Unix文件系統。這可能會給你帶來高分,但我的經驗並沒有發現這種情況。 –
容器不是那麼大,像400 kb,這就是爲什麼它讓我想知道爲什麼設置顯示這麼大的數字 – DCDC