英语原文
http://dbachrach.com/blog/2009/03/making-uuids-in-cocoa/
UUID全称 Universally Unique Identifiers ,它能让你在不同地点,不借助中央服务器的情况下为任何项目创建唯一的标识符。举个例子,如果你要在Cocoa App里加入一个永不会和其它ID冲突的用户ID,你可以自己建一个服务器,并用脚本为每个客户端分配一个ID。但这种集中管理的方式受网络影响,速度慢,而且服务器处理时间也影响速度。事实上你可以用UUID,它在每个客户端上生成ID。
在Cocoa里完成上述任务很简单,只需找到Carbon API……就像这样
UUID全称 Universally Unique Identifiers ,它能让你在不同地点,不借助中央服务器的情况下为任何项目创建唯一的标识符。举个例子,如果你要在Cocoa App里加入一个永不会和其它ID冲突的用户ID,你可以自己建一个服务器,并用脚本为每个客户端分配一个ID。但这种集中管理的方式受网络影响,速度慢,而且服务器处理时间也影响速度。事实上你可以用UUID,它在每个客户端上生成ID。
在Cocoa里完成上述任务很简单,只需找到Carbon API……就像这样
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef strRef = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
NSString *uuidString = [NSString stringWithString:(NSString*)strRef];
CFRelease(strRef);
CFRelease(uuidRef);
这将创建一个UUID,把它转成字符串,并将核心基础字符串转换成NSString,然后释放2个项目的内存。我们只是将strRef映射成了NSString,是CF和Cocoa之间的免费桥梁。