zoukankan      html  css  js  c++  java
  • iOS AFNetworking 打印从服务器返回的错误提示信息

    每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是data类型,看不出提示的错误的信息是什么。后面经过一些查阅发现其实是可以把这个转变为string的类型,这样就可以很明了的知道是什么错误。下面就来看看如何修改

    (1)找到AFNetWorking的AFURLResponseSerialization.m 文件

    (2)加上这句 

    #ifdef DEBUG
    NSString * const AFNetworkingOperationFailingURLResponseStringErrorKey =  @"com.alamofire.serialization.response.error.string";
    #endif

    如图 

    (3)找到这句 

     if (data) {
                    mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data;
                }

    替换成 (总共有两个地方要换)

                                        
                if (data) {
                        mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data;
    #ifdef DEBUG
                        mutableUserInfo[AFNetworkingOperationFailingURLResponseStringErrorKey] = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    #endif
                    }

    (4)在网络请求的方法的 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {// 在这里添加

      NSLog(@"error ==%@", [error userInfo][@"com.alamofire.serialization.response.error.string"]);

     } 这样以后请求数据返回的错误提示就会以字符串的行打印出来, 一看就知道是什么错误了。。。。

    有兴趣的可以加入QQ群:457236811

  • 相关阅读:
    angularjs学习笔记—工具方法
    js日期格式转换的相关问题探讨
    vue路由原理剖析
    如何减少UI设计师产品与前端工程师的沟通成本
    前端优化带来的思考,浅谈前端工程化
    前端入门方法
    自写juqery插件实现左右循环滚动效果图
    前端大综合
    前端收集
    如何在代码中减少if else语句的使用
  • 原文地址:https://www.cnblogs.com/ljmaque/p/AFNetWorking.html
Copyright © 2011-2022 走看看