我目前正在学习iOS中的UUID,当然我正在努力理解它们。据我所知,当你调用NSUUID()时,它会返回一个完全唯一的128位字符串(尽管我目前对它如何确保一个完全独特的字符串不感兴趣,但我认为它考虑了日期、时间和设备标识)。要使用这个字符串,您可以将它附加到文档目录的末尾(我认为每个应用程序都是唯一的),以确保有一个唯一的文件路径,以后可以用来访问文件。这是对这个概念的正确理解吗?
全局唯一标识符是128位二进制字符串。
Microsoft COM使用它们来防止组件之间的"名称冲突",而不需要一些"中央命名机构"(如DNS名称、IP地址、广播频率等)。
GUID很可能是唯一的。。。但这并不能保证。
这里有一篇很好的文章解释更多:
- http://betterexplained.com/articles/the-quick-guide-to-guids/
是的,你对iOS NSUUID的理解是正确的:
-
http://nshipster.com/nstemporarydirectory/
-
http://nshipster.com/uuid-udid-unique-identifier/
这取决于Universally唯一标识符的版本。版本4几乎可以保证是唯一的,但不是完全的。维基百科声明如下:
在总共128个比特中,两个比特表示RFC 4122("Leach Salz")UUID,四个比特表示版本(0100表示"随机生成"),因此随机生成的UUID有122个随机比特。两个这样的UUID具有相同值的几率可以使用概率论(生日悖论)计算。使用近似值
参考:https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29