1

我正在编写一个 iOS 应用程序,我从服务器下载文件并将其存储在 sql 数据库中,稍后当用户单击消息时,它将解压缩文件并显示文件的内容。

为此,我编写了这个函数,我认为它适合我想做的事情:

这是从 sql 获取文件并将这些文件解压缩到临时文件夹

NSString *unzipFolder = [[CommonFunctions getCachePath]stringByAppendingPathComponent:@"temp"];

并且一旦用户完成查看此消息,我将尝试删除此临时文件夹,因此当用户单击下一条消息以显示它时,临时文件夹上有空间,因为函数总是可以稍后解压缩文件以显示

[[NSFileManager defaultManager] removeItemAtPath:unzipFolder error:&error];

我的问题是当我运行删除解压缩文件夹内容的功能时,它不会删除此内容,并且当用户单击消息中的下一个项目时,它会显示以前的消息图像(因为它们没有清理和自动替换)。

我该如何解决这个问题,以及如何在 iOS 上使用 Temp 文件夹存储文件并在用户完成后清理 p。

4

1 回答 1

3

检查文件是否存在:

if([[NSFileManager defaultManager] fileExistsAtPath:unzipFolder])
{
  NSError *error;
  [[NSFileManager defaultManager] removeItemAtPath:unzipFolder error:&error];
  NSLog@"Error : %@",[error description]);
}
else
{
  NSLog@"File Exists Not Exists");
}
于 2012-10-02T04:58:36.447 回答