[[NSUUID new] UUIDString] 和 CFUUIDRef 之间有什么区别
Whats this difference between [[NSUUID new] UUIDString] & CFUUIDRef
任何人都可以让我知道通过下面给出的这两种实现创建唯一 ID 之间的区别是什么
1)
CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
2) NSString *guid = [[NSUUID new] UUIDString];
哪个更可靠,因为我正在开发 IOS 8 及更高版本的应用程序。
NSUUID
在 iOS 6 中被添加到 Foundation 中作为一种轻松创建 UUID 的方法。
CFUUIDRef
是核心基础函数。如果您的应用程序面向 iOS 5 或更早版本,您应该使用它。
因此,对于iOS 8及以上,为了简单和方便,您应该使用NSUUID
。
您可以在 NSHipster's uuid-udid-unique-identifier post 上找到详细信息。
为了不发帖'link only'这里的回答是同一篇文章的摘录:
NSUUID was added to Foundation in iOS 6 as a way to easily create
UUIDs.
If your app targets iOS 5 or earlier, however, you have to settle for
Core Foundation functions on CFUUIDRef
总而言之,尽管 return 都是有效的 UUID,继续使用 NSUUID 更容易。
很简单
1.If 您的应用目标 iOS 5 或以下 iOS 5,它属于 CoreFoundation
你还需要设置
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *UUID = CFUUIDCreateString(NULL, uuid);
2.If 你的app targets iOS6 or above iOS 6,属于Foundation你也需要设置
NSString *UUID = [[NSUUID UUID] UUIDString];
任何人都可以让我知道通过下面给出的这两种实现创建唯一 ID 之间的区别是什么
1)
CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *udidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
2) NSString *guid = [[NSUUID new] UUIDString];
哪个更可靠,因为我正在开发 IOS 8 及更高版本的应用程序。
NSUUID
在 iOS 6 中被添加到 Foundation 中作为一种轻松创建 UUID 的方法。
CFUUIDRef
是核心基础函数。如果您的应用程序面向 iOS 5 或更早版本,您应该使用它。
因此,对于iOS 8及以上,为了简单和方便,您应该使用NSUUID
。
您可以在 NSHipster's uuid-udid-unique-identifier post 上找到详细信息。
为了不发帖'link only'这里的回答是同一篇文章的摘录:
NSUUID was added to Foundation in iOS 6 as a way to easily create UUIDs.
If your app targets iOS 5 or earlier, however, you have to settle for Core Foundation functions on CFUUIDRef
总而言之,尽管 return 都是有效的 UUID,继续使用 NSUUID 更容易。
很简单
1.If 您的应用目标 iOS 5 或以下 iOS 5,它属于 CoreFoundation 你还需要设置
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *UUID = CFUUIDCreateString(NULL, uuid);
2.If 你的app targets iOS6 or above iOS 6,属于Foundation你也需要设置
NSString *UUID = [[NSUUID UUID] UUIDString];