iOS开发bug fix记录 | AFN提示数据格式不对

iOS开发bug fix记录 | AFN提示数据格式不对_第1张图片
嘟嘴智妍

就这种提示:

iOS开发bug fix记录 | AFN提示数据格式不对_第2张图片

当时测试妹纸拿给我看的,我说是后台问题,妹纸说安卓那边都是对的,肯定是我的问题。这让我很尴尬,于是就用Charles抓了下数据,把后台返回的json数据拿到json.cn上解析,很显然是解析不出的:

根据提示,我仔细看了下json数据,发现里面有个换行换得很诡异,于是我把那个换行删了,删了之后json就可以解析了

然后我恍然大悟:
用户输入地址的时候,最后输了个换行符,我前端没做处理直接传给了后台,后台也没做处理直接返给了前端。最后就出现这种尴尬的局面了。我给测试说了,她到数据库把那个地址的换行符删掉后就OK了。最后给后台小伙伴说了下,让他把地址里的回车全部去掉。

总结:

反思了一下之所以出现这种情况的原因:
1.首先我前端经验不足未做相应处理
2.后台实在太水。。。(是的,我忍不住抱怨一下,说好的坚强的后盾呢?)

iOS开发bug fix记录 | AFN提示数据格式不对_第3张图片

应对方法

不管怎样,我们前端不能无动于衷。

于是,给NSString添加了一个category:

/**
 删除两端空格和所有换行

 @return 处理后的string
 */
- (NSString *)stringByDeletingBothEndsSpaceAndNewLine{
    // 删除两端空格
    NSString *resultString = [self stringByTrimmingCharactersInSet:
                              [NSCharacterSet whitespaceCharacterSet]];
    // 删除所有换行
    resultString = [resultString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    
    return resultString;
}

命名可以参照系统的:
stringByDeletingPathExtension
stringByDeletingLastPathComponent

学会了这招你就能轻松get命名之道了。

当然,具体处理方式得视具体情况而定。

或许不能输入表情、或许不能输入特殊符号等等。

最重要的是:一定要有对用户输入的字符串进行必要处理的意识。

你可能感兴趣的:(iOS开发bug fix记录 | AFN提示数据格式不对)