iOS开发中遇到的坑

1.iOS中NSString类型转换成Float类型会出现精度不准确的问题,如果用于数字的比较会出现比较大大问题!!

NSString *amout = @"100000.43";
NSLog(@"%f",amout.floatValue);//输出结果是100000.429688

//NSNumber转换成float类型的时候也是会出现精度不准确的问题。
NSNumber *number = @100000.43;
NSLog(@"%f-----%f",number.floatValue,number.doubleValue);
//输出结果100000.429688-----100000.430000

所以遇到NSString、NSNumber转换数值类型的时候一定要用.doubleValue
PS 如果你非得需要这么精确的计算,使用[NSDecimalNumber decimalNumberWithString:]来得到一个NSDecimalNumber,可以通过这个类的函数进行加减乘除运算。

2.UITextField输入时文字往下偏移

方案一:好像如果把borderStyle设置为none的话,输入中文的时候就文字就会都偏下。我的解决办法是把borderStyle设置为roundedRect, 这样textField就有个_UITextFieldRoundedRectBackgroundViewNeue的子视图, 然后给删除掉就行了。如vSearchInput.subviews[0].removeFromSuperview()
方案二:


F34F4EF0-D488-467A-BBB7-BCA4A192C004.png

3.iOS中处理后台返回的null的情况

解决方案:
1.如果使用了AFNetworking添加下面代码
AFJSONResponseSerializer *response = [AFJSONResponseSerializer serializer];
response.removesKeysWithNullValues = YES;
manager.responseSerializer = response;

2.牛逼的老外写了一个Category,叫做NullSafe ,在运行时操作,把这个讨厌的空值置为nil,而nil是安全的,可以向nil对象发送任何message而不会奔溃。这个category使用起来非常 方便,只要加入到了工程中就可以了,你其他的什么都不用做,对,就是这么简单。详细的请去Github上查看;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容