如何将UUID存储为int

时间:2011-09-21 04:18:32

标签: iphone objective-c xcode4 uuid

我在这里遇到一些问题..我正在使用以下代码在我的应用程序中生成uuid。

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

此代码返回NSString个对象。现在我想将生成的UUID存储为unsigned int。有什么建议请问我怎么能在这里做。感谢。

2 个答案:

答案 0 :(得分:7)

根据Wikipedia page,UUID长度为128位。你可以使用的最大int值是64位。因此,我说你不能将它存储在int中,因为根本没有空间。

答案 1 :(得分:1)

使用.UUIDString

将UUID转换为字符串

获取字符串的.hash属性。

转换为int。

int numericFormUUID = (int)UUIDString.hash;

注意:一如既往,可以使用散列进行冲突。两个用户可能在这里得到相同的值,而UUID保证是唯一的。