我尝试使用以下代码将文件保存到 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/