iOS - 缺少保存的文件

时间:2014-05-21 23:02:32

标签: ios save nsfilemanager

我尝试使用以下代码将文件保存到NSLibraryDirectory中:

if (!userDir) {

   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
   NSString *documentsDirectory = [paths objectAtIndex:0];
   documentsDirectory = [[[documentsDirectory stringByAppendingPathComponent:@"Caches"] stringByAppendingPathComponent:@"account"] stringByAppendingPathComponent:@"test"];
   NSString *imageDir = [[documentsDirectory stringByAppendingPathComponent:@"Root"] stringByAppendingPathComponent:@"imageType"];
   NSError *error = nil;
   BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:imageDir withIntermediateDirectories:YES attributes:nil error:&error];
   NSString *fileName = @"avatar"
   NSString filePath = [imageDir stringByAppendingPathComponent:fileName];
}
   NSData *imagedata = **imagedata**
   NSError *saveError = nil;
  [imageData writeToFile:filePath options:NSDataWritingWithoutOverwriting error:&saveError];

图片已保存,我可以使用以下方法加载:

  NSError *error = nil;
  NSData *imageData = [[NSData alloc] initWithContentsOfFile:filePath options:NSDataReadingUncached error:&error];

当我杀死应用并再次启动它时,文件丢失了。我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

您将其保存在Caches目录中,系统可能会在您的应用未运行时清除该目录。如果您希望文件更永久地存在,则应将其存储在其他位置,例如Documents目录。