在网络数据请求的时候,尤其是用到POST或者PUT,参数一般以httpbody的形式组装,这里就涉及到一个如何组装这个httpbody,之前用
stringWithUTF8String: 发现网络请求没问题,但后台数据没有变,当然这种情况不是每次都出现,时好时坏,所以以为是后台的哥们故意给我加菜,多翻检测后发现哪是那么回事,家里出了内鬼,httpbody上传前组装就是null了。
既然问题已经找到了,想办法解决就是了。我看了一下相关类似的方法,毕竟这个绕不过去必须得组装. 我尝试了先给httpbody初始化再组装,还是同样的情况出现。
最后看到initWithBytes:length:encoding这个方法,这里多了个length
这个是完整的组装,没什么问题了。NSString在编码过程中只有数据流没有数据长度才导致这类错误,只能按照自身的数据长度去编码。