2011-03-17 60 views
7

我正在爲iPhone構建一個應用程序。我掃描iPod庫並帶入所有專輯封面。我需要一種創建唯一字符串的方法,以便在將專輯封面保存到文檔目錄時,每個文件都有唯一的名稱。有誰知道創建一個獨特的字符串?提前致謝。創建一個唯一的字符串用於保存數據

回答

0

我沒有代碼,但是可以從專輯封面中生成MD5哈希碼。這將接近唯一的字符串。這將是一個醜陋的字符串,但。

14

我用這個代碼:

+ (NSString *)getUniqueFilenameInFolder:(NSString *)folder forFileExtension:(NSString *)fileExtension { 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSArray *existingFiles = [fileManager contentsOfDirectoryAtPath:folder error:nil]; 
    NSString *uniqueFilename; 

    do { 
     CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault); 
     CFStringRef newUniqueIdString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueId); 

     uniqueFilename = [[folder stringByAppendingPathComponent:(NSString *)newUniqueIdString] stringByAppendingPathExtension:fileExtension]; 

     CFRelease(newUniqueId); 
     CFRelease(newUniqueIdString); 
    } while ([existingFiles containsObject:uniqueFilename]); 

    return uniqueFilename; 
} 

也許它可以幫助別人。 :-)

請記住,這將返回唯一文件的完整路徑。您可能需要添加一些小的更改以返回文件名。例如,如果你想堅持它的某個地方。

+0

+1非常有用 – 2012-04-09 04:53:35

相關問題