UUIDを作る

アプリ内で作る要素に、ユニークなIDを振りたいので調べてみました。

How to create a GUID/UUID using the iPhone SDKより

+ (NSString *)GetUUID
{
  CFUUIDRef theUUID = CFUUIDCreate(NULL);
  CFStringRef string = CFUUIDCreateString(NULL, theUUID);
  CFRelease(theUUID);
  return [(NSString *)string autorelease];
}

ちなみに、CFUUIDCreateは、"Creates a Universally Unique Identifier (UUID) object."する関数。試しに10個ほど出してみた。

2010-10-29 11:02:07.508 GetUUID[912:207] 5D2094B9-D7B6-48E9-9299-9C7E8110DEC5
2010-10-29 11:02:07.510 GetUUID[912:207] FFF76ECC-6426-45D0-A3B7-274169091405
2010-10-29 11:02:07.514 GetUUID[912:207] B7CBA434-71F4-44EF-8227-28E0F267A6EC
2010-10-29 11:02:07.517 GetUUID[912:207] 2507EA18-C4EF-4E48-B0A4-2758864A5E7A
2010-10-29 11:02:07.517 GetUUID[912:207] B7C29873-88CA-4E95-9A3A-85280AE85C9A
2010-10-29 11:02:07.519 GetUUID[912:207] 2E913DAE-7B98-47E5-8FF9-AF941A06ADBA
2010-10-29 11:02:07.532 GetUUID[912:207] 0393A6B9-519B-4CA8-8767-3AA4DA2F7AE9
2010-10-29 11:02:07.534 GetUUID[912:207] 9A6B131D-02D3-440A-B2C7-5E103BCEC15B
2010-10-29 11:02:07.534 GetUUID[912:207] 13901570-6981-477A-A423-6A557E9CCB78
2010-10-29 11:02:07.535 GetUUID[912:207] 72A5892C-976C-4AAC-B165-1B28B3AE4DED

うん、ユニークだ。けど、本当にUniversallyユニークなのかなぁ。
今回はそこまでクリティカルじゃないから、調べずに信じとくけど。