加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:56:30 所属栏目:百科 来源:网络整理
导读:我是Objective-C的新手,在Objective-C类中实现-hash方法时,我正在寻找处理原始浮点数的最佳方法.我在这个问题上发现了一些关于isEqual和hash的建议: Best practices for overriding isEqual: and 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];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读