我需要一种快速简便的方法来在iOS上存储具有唯一文件名的文件.我需要在文件前面加一个字符串,然后将生成的唯一标识符附加到文件的末尾.我希望NSFileManager
有一些方便的方法来做这件事,但我似乎找不到.
我看了createFileAtPath:contents:attributes:
个,但不确定这些属性是否会给我唯一的文件名.
我需要一种快速简便的方法来在iOS上存储具有唯一文件名的文件.我需要在文件前面加一个字符串,然后将生成的唯一标识符附加到文件的末尾.我希望NSFileManager
有一些方便的方法来做这件事,但我似乎找不到.
我看了createFileAtPath:contents:attributes:
个,但不确定这些属性是否会给我唯一的文件名.
创建自己的文件名:
CFUUIDRef uuid = CFUUIDCreate(NULL);
CFStringRef uuidString = CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
NSString *uniqueFileName = [NSString stringWithFormat:@"%@%@", prefixString, (NSString *)uuidString];
CFRelease(uuidString);
@darrinm在 comments 中提出了一个更简单的替代方案:
NSString *prefixString = @"MyFilename";
NSString *guid = [[NSProcessInfo processInfo] globallyUniqueString] ;
NSString *uniqueFileName = [NSString stringWithFormat:@"%@_%@", prefixString, guid];
NSLog(@"uniqueFileName: '%@'", uniqueFileName);
NSLog输出:
注意:iOS6引入了NSUID类,可以用来代替CFUUID.
NSString *guid = [[NSUUID new] UUIDString];