AFNetworking,处理返回数据时出现Error Domain=NSCocoaErrorDomain Code=3840 错误
来源:互联网 发布:淘宝双十一消费者规则 编辑:程序博客网 时间:2024/05/17 06:00
报错:
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unescaped control character around character 2884.) UserInfo=0x79fa60b0 {NSDebugDescription=Unescaped control character around character 2884.}
原因在于出现特殊字符是AFNetworking无法解析的,会直接报错,那么当你在发post请求时,返回结果会直接进如fail代码块,其实在fail中用operation的nsstring可以直接输出接收到的数据,是string形,可以清楚的看到服务器端数据有哪些含有特殊字符,但是有一些字符是不好看到的,比如“TAB”(制表)键打出的那种四个空格,项目中用户有时候很常用到tab键,最好的方法是在AFNetworking源码中添加字符过滤功能
处理办法:找到AFNetworking包中AFURLResponseSerialization.m文件,大概在第256行的 if (responseString && ![responseStringisEqualToString:@" "])(此时已将data转化为responseString形)条件下面添加如下过滤方法:
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet]; NSRange range = [responseString rangeOfCharacterFromSet:controlChars]; if (range.location != NSNotFound) { NSMutableString *mutable = [NSMutableString stringWithString:responseString]; while (range.location != NSNotFound) { [mutable deleteCharactersInRange:range]; range = [mutable rangeOfCharacterFromSet:controlChars]; } responseString = mutable; }
OK,再试一下,应该不会在报错了。
1 0
- AFNetworking,处理返回数据时出现Error Domain=NSCocoaErrorDomain Code=3840 错误
- AFNetworking Error Domain=NSCocoaErrorDomain Code=3840
- 使用AFN 的POST请求出现错误"Error Domain=NSCocoaErrorDomain Code=3840 "决绝方案
- Error Domain=NSCocoaErrorDomain Code=3840
- Error Domain=NSCocoaErrorDomain Code
- Error Domain=NSCocoaErrorDomain Code=3000
- Error Domain=NSCocoaErrorDomain Code=3840解决方法
- Error Domain=NSCocoaErrorDomain Code=3840Json解析失败
- 错误:Error Domain=NSCocoaErrorDomain Code=3840 "Garbage at end." UserInfo={NSDebugDescription=Garbage
- 解决AFN的post请求错误:Error Domain=NSCocoaErrorDomain Code=3840
- iOS开发Post请求错误:Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or ...
- Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. 错误的处理方法
- Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
- Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
- AFNetwork 2.0在请求时报错 Error Domain=NSCocoaErrorDomain Code=3840
- iOS-Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be complet
- apns -> 注册推送功能时发生错误, 错误信息: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字
- ios core data Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. 错误的处理方法
- 基于BroadReceiver实现获取短信内容
- 通过进程查询它打开的文件,通过文件查询打开它的进程
- 破解WarRAR 软件
- [JAVA加解密]仿照DH算法编写ECDH算法时遇到的一些问题
- 排序2-插入排序
- AFNetworking,处理返回数据时出现Error Domain=NSCocoaErrorDomain Code=3840 错误
- ABAP 给初学者-解读function函数的export和import等参数
- HTTP状态码列表,转载自百度百科
- ios loadView 注意事项
- for和while的区别
- HADOOP学习连载:Hadoop2.6.0 分布式环境配置
- ACM-计数排序小例子
- 项目中遇到的问题及技术
- [Intel汇编-NASM]进入保护模式全过程