我在这里遇到一些问题..我正在使用以下代码在我的应用程序中生成uuid。
- (NSString *)GetUUID
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
此代码返回NSString
个对象。现在我想将生成的UUID
存储为unsigned int
。有什么建议请问我怎么能在这里做。感谢。
答案 0 :(得分:7)
根据Wikipedia page,UUID长度为128位。你可以使用的最大int值是64位。因此,我说你不能将它存储在int中,因为根本没有空间。
答案 1 :(得分:1)
使用.UUIDString
获取字符串的.hash
属性。
转换为int。
int numericFormUUID = (int)UUIDString.hash;
注意:一如既往,可以使用散列进行冲突。两个用户可能在这里得到相同的值,而UUID保证是唯一的。