iOS - 保存的文件丢失

标签 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];

当我终止应用程序并再次启动它时,文件丢失了。我在这里做错了什么吗?

最佳答案

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

关于iOS - 保存的文件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795261/

相关文章:

ios - 如何访问和更改由 UIButton 组成的自定义 barButtonItem 的 NSAttributedString 标题?

ios - 将完成处理程序池在一起,以便在执行多个闭包后方法完成

ios - 访问扩展中项目中存在的图像

C++ 将二维数据库保存到文件中 ISSUE

ios - 如何确定 UITableView 性能低下的原因

Python matplotlib 调用 savefig 后更新图形

iphone - NSFileManager 多实例写入原子性

iphone - 在 iPhone 中创建一个目录

objective-c - moveItemAtPath。没有错误,但不工作

ios - 如何在 Swift 中保存 CoreGraphics 绘图