我对使用两个不同类(CFUUID和NSUUID)生成的2 uuid感到困惑。它们都一样吗?
答案 0 :(得分:1)
根据UUID的类文档,它们确实是不同的类(即它们不免费桥接):
注意:NSUUID类与CoreFoundation没有免费桥接 CFUUIDRef。使用UUID 如果需要,在CFUUID和NSUUID之间转换的字符串。两个NSUUID对象不是 保证可以通过指针值进行比较(如CFUUIDRef所示);使用isEqual:进行比较 两个NSUUID实例。
我对此的解释是,它们都会生成一个你必须管理的UUID(存储等)。当然,每次使用它们时,这两个函数都会生成不同的UUID,因此您永远不必比较两者的结果(这是两个函数的关键点)。
如果你必须比较UUID,那么你最好将它们转换为字符串并使用它们。