一旦我使用[NSString hash]
并获得NSUInteger
,我有什么方法可以使用NSUInteger
并将其重新设置为原始NSString
? Apple并没有真正说明文档中hash
方法的实现。
仅供参考:我正在尝试将identifierForVendor
存储为NSNumber
(特别是major
的{{1}}或minor
属性。)< / p>
答案 0 :(得分:4)
没有。散列是32位或64位,字符串可以更长,因此它本身就是有损的,并且散列值不是唯一的(相同的散列对应于多个字符串)。
答案 1 :(得分:2)
实际上,哈希不应该被解码。您可能希望阅读http://en.wikipedia.org/wiki/Hash_function
之类的内容Apple说“如果两个字符串对象相等(由isEqualToString:方法确定),它们必须具有相同的哈希值”。这就是你能得到的全部。
答案 2 :(得分:0)
如果您想将其存储以供以后进行比较,那么您应该对NSString
s&amp;比较结果NSUInteger
s