从 iOS 上的 Temp 目录中删除文件
Posted
技术标签:
【中文标题】从 iOS 上的 Temp 目录中删除文件【英文标题】:Deleting files from Temp directory on iOS 【发布时间】:2012-10-02 03:47:41 【问题描述】:我正在编写一个 ios 应用程序,我从服务器下载文件并将其存储在 sql 数据库中,稍后当用户单击消息时,它将解压缩文件并显示文件的内容。
为此,我编写了这个我认为适合我想做的功能:
这是从sql中获取文件并将这些文件解压缩到临时文件夹中
NSString *unzipFolder = [[CommonFunctions getCachePath]stringByAppendingPathComponent:@"temp"];
一旦用户完成查看此消息,我将尝试删除此临时文件夹,因此当用户单击下一条消息以显示它时,临时文件夹上有空间,因为函数总是可以稍后解压缩文件以显示
[[NSFileManager defaultManager] removeItemAtPath:unzipFolder error:&error];
我的问题是,当我运行删除解压缩文件夹内容的功能时,它不会删除此内容,当用户单击消息中的下一个项目时,它会显示以前的消息图像(因为它们没有清理和自动替换)。
我该如何解决这个问题,以及如何在 iOS 上使用 Temp 文件夹存储文件并在用户完成后清理 p。
【问题讨论】:
【参考方案1】:检查文件是否存在:
if([[NSFileManager defaultManager] fileExistsAtPath:unzipFolder])
NSError *error;
[[NSFileManager defaultManager] removeItemAtPath:unzipFolder error:&error];
NSLog@"Error : %@",[error description]);
else
NSLog@"File Exists Not Exists");
【讨论】:
谢谢我实现了 if 语句,但它仍然不起作用,部分消息仍在重复,我如何确保在用户更改或导航到另一个视图时立即调用上述函数消息列表? :) 使用委托做回调函数以上是关于从 iOS 上的 Temp 目录中删除文件的主要内容,如果未能解决你的问题,请参考以下文章