Ios 是UUID';s、 而最基本的层面,仅仅是一串独特的字符?

Ios 是UUID';s、 而最基本的层面,仅仅是一串独特的字符?,ios,uuid,nsuuid,Ios,Uuid,Nsuuid,我目前正在学习iOS中的UUID,当然我也在努力理解它们。据我所知,当调用nsuid()时,它返回一个完全唯一的128位字符串(尽管我目前对它如何确保字符串完全唯一不感兴趣,但我认为它考虑了日期、时间和设备标识)。要使用这个字符串,您可以将它附加到文档目录的末尾(我认为每个应用程序都是唯一的),以确保以后可以使用唯一的文件路径访问文件。这是对这个概念的正确理解吗?是128位二进制字符串 Microsoft COM使用它们来防止组件之间的“名称冲突”,而不需要一些“中央命名机构”(如DNS名称、I

我目前正在学习iOS中的UUID,当然我也在努力理解它们。据我所知,当调用nsuid()时,它返回一个完全唯一的128位字符串(尽管我目前对它如何确保字符串完全唯一不感兴趣,但我认为它考虑了日期、时间和设备标识)。要使用这个字符串,您可以将它附加到文档目录的末尾(我认为每个应用程序都是唯一的),以确保以后可以使用唯一的文件路径访问文件。这是对这个概念的正确理解吗?

是128位二进制字符串

Microsoft COM使用它们来防止组件之间的“名称冲突”,而不需要一些“中央命名机构”(如DNS名称、IP地址、广播频率等)

GUID可能是唯一的。。。但这并不能保证

下面是一篇很好的文章,解释了更多:

是的,您对iOS NSUID的理解完全正确:


这取决于通用唯一标识符的版本。版本4几乎保证是唯一的,但并不完全。维基百科声明如下:

“在总共128位中,两位表示RFC 4122(“Leach Salz”)UUID,四位表示版本(0100表示“随机生成”),因此随机生成的UUID有122个随机位。可以使用概率理论(生日悖论)计算两个UUID具有相同值的概率。使用近似值”


参考资料:

我不认为它是完全唯一的,因为它们是唯一的,因为它们不太可能独立地生成两个相同长度的随机数(或字符串)。换句话说,只有在接下来的100年中每秒生成10亿个UUID之后,仅创建一个重复的概率才约为50%。您可以假定它们是唯一的。不要用任何其他的方法来统一它们——这根本不值得付出努力。这些都很好!非常感谢。