在我的 ios 应用程序中,我被困在一项任务上。我需要从相机拍摄照片并将其保存在文档目录中。问题是我想保存图像的唯一名称。我试图用名称添加当前时间。但保存图像存在长度问题。请建议我如何完成该任务。
谢谢
在我的 ios 应用程序中,我被困在一项任务上。我需要从相机拍摄照片并将其保存在文档目录中。问题是我想保存图像的唯一名称。我试图用名称添加当前时间。但保存图像存在长度问题。请建议我如何完成该任务。
谢谢
给定一个建议的名称,例如NString *name = @"Lake"
:
NSString *myUniqueName = [NSString stringWithFormat:@"%@-%u", name, (NSUInteger)([[NSDate date] timeIntervalSince1970]*10.0)];
编辑:更新,以便重复的唯一机会是相同的原始名称,在第一个名称的 100 毫秒内提交(在我看来几乎不可能,如果这是一个问题,使用 100 而不是 10)
像这样尝试只是格式化日期并保存图像
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *now = [NSDate date];
NSString *theDate = [dateFormat stringFromDate:now];
[data writeToFile:[NSString stringWithFormat:@"%@.png",theDate] atomically:YES];
-(NSString*)getFilePathToSaveUnUpdatedImage
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
for (int i = 0 ; TRUE ; i++)
{
if(![[NSFileManager defaultManager]fileExistsAtPath:[NSString stringWithFormat:@"%@/UnUpdatedItems/Image%d.png", directory , i]])
return [NSString stringWithFormat:@"%@/UnUpdatedItems/Image%d.png", directory , i];
}
}
使用这行代码来命名。
[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterShortStyle]]
这对我来说适用于同样的问题。
-(NSString*)getImagePathName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [paths objectAtIndex:0];
for (int i = 0 ; TRUE ; i++)
{
if(![[NSFileManager defaultManager]fileExistsAtPath:[NSString stringWithFormat:@"%@/Image%d.png", directory , i]])
return [NSString stringWithFormat:@"%@/Image%d.png", directory , i];
}
}