每次按下保存按钮时,我都会尝试将图像保存到磁盘。这是我正在使用的代码:
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:@"piclogs"];
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
现在,显然每次调用此方法时,要保存的文件都会覆盖以前保存的文件。我正试图找到一种方法来存储在那里拍摄的每张照片,而不是每次都覆盖它。有谁知道是否有一个简单的解决方案来实现这一目标?我浏览了文档但找不到任何相关内容。
答案 0 :(得分:2)
使用NSUUID
或CFUUIDCreate
创建可用于文件的唯一名称。
答案 1 :(得分:1)
或者您可以检查具有该名称的文件是否存在以及它是否不写入文件。然后根据需要更改名称,这样您就可以获得可能或可能不会保存的内容的副本。
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:@"piclogs"];
if (![NSURL fileURLWithPath:[self documentsPathForFileName:documentDirectoryFilename]]) {
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
} else {
NSString* altName = [NSString stringWithFormat:@"%@-%d", documentDirectoryFilename, intValue];
[pdfData writeToFile:altName atomically:YES];
}