NSString的哈希方法又回来了吗?

时间:2013-12-08 09:43:03

标签: ios objective-c nsstring

一旦我使用[NSString hash]并获得NSUInteger,我有什么方法可以使用NSUInteger并将其重新设置为原始NSString? Apple并没有真正说明文档中hash方法的实现。

仅供参考:我正在尝试将identifierForVendor存储为NSNumber(特别是major的{​​{1}}或minor属性。)< / p>

3 个答案:

答案 0 :(得分:4)

没有。散列是32位或64位,字符串可以更长,因此它本身就是有损的,并且散列值不是唯一的(相同的散列对应于多个字符串)。

答案 1 :(得分:2)

实际上,哈希不应该被解码。您可能希望阅读http://en.wikipedia.org/wiki/Hash_function

之类的内容

Apple说“如果两个字符串对象相等(由isEqualToString:方法确定),它们必须具有相同的哈希值”。这就是你能得到的全部。

答案 2 :(得分:0)

如果您想将其存储以供以后进行比较,那么您应该对NSString s&amp;比较结果NSUInteger s