【求助】CGFloat值比较出的问题,很奇怪

renmms 2016-11-24 07:46:47
本地定义一个宏A:
#define A 1.01

服务器json文件有个字段B
{"B":1.01}

B对应的类模型定义的是CGfloat类型,获取到json,通过NSJSONSerialization解析成字典,再通过initWithDictionary初始化类成员。(标准流程)

问题代码:

代码里判断大小 if(B>A){ //进if }

----下面是场景---------------
1. 当APP第一版本,客户端写死 #define A 1.01,服务器端:{"B":1.02},app升级。
2. app升级成第二个版本,客户端写死 #define A 1.02,但是对于少部分5S IOS9机型,会进If里面去.
但是对于进if的机型,卸载app第一版本,去store重新下载安装第二个版本,不会进if。

写的貌似有点乱,大家有看不懂的可以留言。

if(B>A){ //进if } // 难道是因为精度的问题吗?但是为什么只是少部分5S IOS9机器才会进呢?
...全文
478 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
不担心 2016-11-29
  • 打赏
  • 举报
回复
用版本号判断太麻烦了,用build号就可以了,这个是个整型的,维护的时候一直往上加就行了 判断是否需要更新的时候只要客户端取出build号和服务器返会的build号.两个整型数值进行比对,简单. 附:客户端获取build号的代码
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    build号 =  [infoDictionary objectForKey:@"CFBundleVersion"];

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧