0

保存ボタンが押されるたびに画像をディスクに保存しようとしています。これは私が使用しているコードです:

NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);

NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:@"piclogs"];

[pdfData writeToFile:documentDirectoryFilename atomically:YES];

ここで、明らかに、保存されるファイルは、このメソッドが呼び出されるたびに以前に保存されたファイルを上書きします。毎回上書きするのではなく、そこに撮影したすべての写真を保存する方法を見つけようとしています。これを達成するための簡単な解決策があるかどうかは誰にも分かりますか? ドキュメントを閲覧しましたが、関連するものは見つかりませんでした。

4

2 に答える 2

2

NSUUIDまたはを使用CFUUIDCreateして、ファイルに使用できる一意の名前を作成します。

于 2013-07-11T17:00:41.223 に答える
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];
}
于 2013-11-04T20:09:04.897 に答える