0

NSLibraryDirectoryに画像を保存したいのですが、次の画像を保存するときに、使用しているコードが画像を置き換えています。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,        NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory  stringByAppendingPathComponent:@"images.doc"];
UIImage *image = [arrayImages objectAtIndex:0];
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];
4

2 に答える 2

3
 NSMutableArray *imag = [[NSMutableArray alloc]initWithObjects:[UIImage imageNamed:@"1333681269.jpeg"],[UIImage imageNamed:@"image001-794043.jpeg"],[UIImage imageNamed:@"Circle.png"], nil];

 for(int i=0;i<[imag count];i++)
 {
       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
       NSString *documentsDirectory = [paths objectAtIndex:0];
       NSString *imageName = [NSString stringWithFormat:@"savedImage%i.png",i];
       NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:imageName];
       NSData *imageData = UIImagePNGRepresentation([imag objectAtIndex:i]);
       [imageData writeToFile:savedImagePath atomically:NO];
}
于 2012-10-30T11:59:27.117 に答える
2

毎回、まだ使用されていない別の名前を使用する必要があるため、毎回ファイル名を変更する必要があります。

アプリを再起動した後でも動作させたい場合は、インデックス値をNSUserDefaultsに保存します

.hファイル

int index;

.mのようにコードを変更します

index = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"NewFolder"];
NSString *dynamicimagename = [[@"/images" stringByAppendingFormat:@"%d",[[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"]] stringByAppendingFormat:@".doc"];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:dynamicimagename];
UIImage *image = [arrayImages objectAtIndex:0];
NSData *imageData = UIImagePNGRepresentation(image);
BOOL isWritten = [imageData writeToFile:savedImagePath atomically:NO];

index++;
[[NSUserDefaults standardUserDefaults] setInteger:index forKey:@"HighScore"];
于 2012-10-30T12:41:13.510 に答える