Law*_*ton 22 macos uuid cocoa guid core-foundation
是否有与.NET相当的内置函数
Guid.NewGuid();
Run Code Online (Sandbox Code Playgroud)
在可可?
我的愿望是产生一个字符串,550e8400-e29b-41d4-a716-446655440000其中的字符串代表一个唯一的标识符.
Jör*_*tag 42
UUID由Core Foundation,CFUUID库处理.您正在寻找的功能是CFUUIDCreate.
进一步搜索的FYI:这些通常称为UUID,术语GUID在Microsoft世界之外并不经常使用.您可能会对该搜索字词有更多好运.
Bar*_*ark 32
一些代码:
对于字符串UUID,以下类方法应该可以解决这个问题:
+(NSString*)UUIDString {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return [(NSString *)string autorelease];
}
Run Code Online (Sandbox Code Playgroud)
如果你真的想要字节(不是字符串):
+(CFUUIDBytes)UUIDBytes {
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);
CFRelease(theUUID);
return bytes;
}
Run Code Online (Sandbox Code Playgroud)
其中CFUUIDBytes是UUID字节的结构.
小智 28
至少在MacOSX 10.5.x上,您可以使用命令行工具"uuidgen"来获取字符串,例如
$ uuidgen
054209C4-3873-4679-8104-3C18AE780512
这个命令还有一个选项-hdr,可以方便地以标题样式生成它
有关更多信息,请参见man-page.
您可以在 中创建别名~/.bash_profile并uuid从终端调用:
alias uuid="uuidgen | tr '[:upper:]' '[:lower:]'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18252 次 |
| 最近记录: |