我没想到在NSString的散列返回不同,具体取决于在目标设备上。
NSLog(@"%lu", (unsigned long)[@"test" hash]);
// 38178019076 on my iPad.
// 3818280708 on my iPhone and (iPhone/iPad-)Simulator.
除此之外,在NSString的哈希应小心(使用的事实哈希是不好用的NSString )。这个问题可以很容易地使用一个真正的散列来解决(如SHA),我很感兴趣,为什么不同的结果返回?