0

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

4

2 回答 2

1

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

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

参考:https ://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29

于 2015-12-24T21:30:41.543 回答
1

全局唯一标识符是 128 位二进制字符串。

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

GUID可能是唯一的……但不能保证

这是一篇很好的文章,解释更多:

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

于 2015-12-24T21:16:11.477 回答