在Objective-C中实现-hash时,如何处理浮点数和双精度

前端之家收集整理的这篇文章主要介绍了在Objective-C中实现-hash时,如何处理浮点数和双精度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Objective-C的新手,在Objective-C类中实现-hash方法时,我正在寻找处理原始浮点数的最佳方法.我在这个问题上发现了一些关于isEqual和hash的建议:

Best practices for overriding isEqual: and hash

但是对于如何处理浮标和双打却没有任何意义.

我最好的尝试:

...
long lat = [[NSNumber numberWithDouble:self.latitude] longValue];
result = prime * result + (int) (lat ^ (lat >>> 32));
...

但我不知道这是正确的方法.有任何想法吗 ?

解决方法

假设苹果执行-hash是足够的,有什么问题
result = [[NSNumber numberWithDouble: [self latitude]] hash];

或使用现代语法

result = [@([self latitude]) hash];

猜你在找的C&C++相关文章