jwk*_*knz 3 camera ios nsdocumentdirectory
我有这段代码将代码保存到Documents文件夹.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *image = imageView.image; // imageView is my image from camera
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种能够保存多个图像的方法,因为这样可以保留写入savedImage.png名称.
我不介意在谷歌或其他任何地方寻找它,但我需要知道它被称为什么,因为用错误的关键词查找真的推迟了世界:-)
干杯
您需要更改要附加到第三行图像documentsDirectory路径的文件名.每次您需要使用尚未使用的其他名称时.NSFileManager具有查看文件是否存在的方法,因此您可以构造文件名,然后测试它是否存在于该位置,如果存在,则递增重复计数并尝试下一个.
if num是一个整数你定义的地方并保持不变,这样你就知道你认为你使用的最后一个(并且你已经在某处初始化为1).
// your code to get the directory here, as above
NSFileManager *fm = [NSFileManager ...]
do {
savedImagePath = [documentsDirectory stringByAppendingPathComponent:
[NSString stringWithFormat: @"%@-%d.png", @"savedImage", num]];
num += 1; // for next time
if ( ![fm fileExistsAtPath: savedImagePath] )
{
// save your image here using savedImagePath
exit;
}
} while ( //some kind of test for maximum tries/time or whatever )
Run Code Online (Sandbox Code Playgroud)
你将不得不查找语法来获得一个NSFileManager实例和确切的文件存在方法签名,但这是它的要点.
如果使用当前日期时保存文件,则无需担心同名覆盖问题
-(NSString*)getCurrentDateTimeAsNSString
{
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyyMMddHHmmss"];
NSDate *now = [NSDate date];
NSString *retStr = [format stringFromDate:now];
[format release];
return retStr;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6574 次 |
| 最近记录: |