我是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];