我尝试使用以下代码将文件保存到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];
当我杀死应用并再次启动它时,文件丢失了。我在这里做错了吗?
答案 0 :(得分:1)
您将其保存在Caches目录中,系统可能会在您的应用未运行时清除该目录。如果您希望文件更永久地存在,则应将其存储在其他位置,例如Documents目录。