Ios 照片在保存到目录时替换
我正在使用代码Ios 照片在保存到目录时替换,ios,directory,save,Ios,Directory,Save,我正在使用代码 NSArray *directoryNames = [NSArray arrayWithObjects:@"hats",@"bottoms",@"right",@"left",nil]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths obje
NSArray *directoryNames = [NSArray arrayWithObjects:@"hats",@"bottoms",@"right",@"left",nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
for (int i = 0; i < [directoryNames count] ; i++) {
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:[directoryNames objectAtIndex:i]];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; //Create folder
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"hats"]; // "right" is at index 2, per comments & code
NSString *filePath = [folderPath stringByAppendingPathComponent:@"IMAGE_NAME_HERE.PNG"];
NSData *imageData = UIImagePNGRepresentation(captureImage.image);
[imageData writeToFile:filePath atomically:YES];
}
NSArray*directoryNames=[NSArray数组中的对象:@“hats”、@“bottoms”、@“right”、@“left”、nil];
NSArray*Path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,是);
NSString*documentsDirectory=[paths objectAtIndex:0];//获取文档文件夹
对于(int i=0;i<[directoryNames计数];i++){
NSString*dataPath=[DocumentsDirectoryStringByAppendingPathComponent:[directoryNames objectAtIndex:i]];
如果(![[NSFileManager defaultManager]fileExistsAtPath:dataPath])
[[NSFileManager defaultManager]createDirectoryAtPath:dataPath with IntermediateDirectory:无属性:nil错误:nil];//创建文件夹
NSString*folderPath=[DocumentsDirectoryStringByAppendingPathComponent:@“hats”];/“right”位于索引2,根据注释和代码
NSString*filePath=[folderPath stringByAppendingPathComponent:@“IMAGE_NAME_HERE.PNG”];
NSData*imageData=UIImagePNGRepresentation(captureImage.image);
[imageData WriteFile:文件路径原子:是];
}
保存,但它总是替换自己,所以我不能保存多张照片。我应该如何使它停止这样做而不复制自己 根据以下代码,您总是保存到同一个位置:
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"hats"]; // "right" is at index 2, per comments & code
NSString *filePath = [folderPath stringByAppendingPathComponent:@"IMAGE_NAME_HERE.PNG"];
NSData *imageData = UIImagePNGRepresentation(captureImage.image);
[imageData writeToFile:filePath atomically:YES];
在数组中循环只是每次都将所有内容保存到“hats”路径。您已经通过dataPath对象基于数组对象计算了存储图像的位置。你只是没有用它做任何事。相反,请执行以下操作:
for (int i = 0; i < [directoryNames count] ; i++) {
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:[directoryNames objectAtIndex:i]];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; //Create folder
[imageData writeToFile:dataPath atomically:YES];
}
for(int i=0;i<[directoryNames count];i++){
NSString*dataPath=[DocumentsDirectoryStringByAppendingPathComponent:[directoryNames objectAtIndex:i]];
如果(![[NSFileManager defaultManager]fileExistsAtPath:dataPath])
[[NSFileManager defaultManager]createDirectoryAtPath:dataPath with IntermediateDirectory:无属性:nil错误:nil];//创建文件夹
[imageData WriteFile:数据路径原子:是];
}