我想加上时间戳,以便在我制作应用程序时保存,我可以避免重复使用代码
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"]; // you maybe want to incorporate a timestamp into the name to avoid duplicates
NSData *imageData = UIImagePNGRepresentation(captureImage.image);
[imageData writeToFile:filePath atomically:YES];
}
}
我如何设置时间戳或其他东西?我只想停止复制,因此需要时间戳
答案 0 :(得分:4)
您可以直接使用时间戳,并且没有机会将其复制。检查下面的代码
time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970];
NSString *timestamp=[NSString stringWithFormat:@"%ld",unixTime];
答案 1 :(得分:0)
您没有说清楚,但我怀疑您想要的是在文件名中添加 date 。
为此,您需要使用“NSDateFormatter
”将NSDate对象(例如今天的日期?)转换为字符串。 Here is a related question that shows how to create that string
如果您不想将日期作为文件或文件夹名称的一部分,您还可以检查该文件是否已存在于文件夹路径中。如果确实存在,请不要写png文件。
答案 2 :(得分:0)
您可以使用此NSDate
选择器:
- (NSTimeInterval)timeIntervalSince1970
它返回自格林威治标准时间1970年1月1日00:00:00以来的秒数。
示例:
time_t getTime = (time_t) [[NSDate date] timeIntervalSince1970];
您可以存储的内容,以便您可以参考文件的保存时间。