4

在我的 ios 应用程序中,我被困在一项任务上。我需要从相机拍摄照片并将其保存在文档目录中。问题是我想保存图像的唯一名称。我试图用名称添加当前时间。但保存图像存在长度问题。请建议我如何完成该任务。

谢谢

4

5 回答 5

7

给定一个建议的名称,例如NString *name = @"Lake"

NSString *myUniqueName = [NSString stringWithFormat:@"%@-%u", name, (NSUInteger)([[NSDate date] timeIntervalSince1970]*10.0)];

编辑:更新,以便重复的唯一机会是相同的原始名称,在第一个名称的 100 毫秒内提交(在我看来几乎不可能,如果这是一个问题,使用 100 而不是 10)

于 2013-06-05T13:13:14.523 回答
3

像这样尝试只是格式化日期并保存图像

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];
于 2013-06-05T13:14:58.310 回答
3
-(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];
    }
}
于 2013-06-05T13:11:28.183 回答
1

使用这行代码来命名。

[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterShortStyle]]

这对我来说适用于同样的问题。

于 2013-06-05T13:10:32.330 回答
0
-(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];
    }
}
于 2013-06-05T18:34:41.337 回答