美文网首页
iOS开发中遇到的坑

iOS开发中遇到的坑

作者: 刘泽要长肉 | 来源:发表于2017-03-27 12:17 被阅读41次

    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上查看;

    相关文章

      网友评论

          本文标题:iOS开发中遇到的坑

          本文链接:https://www.haomeiwen.com/subject/hvfrottx.html