第二篇《iOS中使用AFNetWorking时如何将responseObject传出》

本文探讨了在iOS开发中使用AFNetworking调用接口时,如何处理并传出responseObject。作者遇到responseObject传出为null的问题,并分享了解决思路,即在success block内直接进行后续操作,而不再寻求将值传出的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上篇,json与model格式互转已经搞定,非常简单,github下载框架MJExtension即可。

本篇主要将使用AFNetWorking调接口成功后,如何将success里的responseObject传出。试验了各种方法,结果传出的都是null。

            [manager POST:REG_URL_POST
               parameters:dic
                 progress:^(NSProgress * _Nonnull uploadProgress) {
                     
                 }     success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
                     if(responseObject != nil){
                         
                         NSLog(@"resp:%@",responseObject);
                         self.jsonDic = (NSDictionary *)responseObject;
             }
                     
                 }
                  failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
                      
                      NSLog(@"请求失败,原因为:%@", [error localizedDescription]);
                  }];
            
            NSLog(@"obj:%@",self.jsonDic);

目前正在找解决方法,如果成功的话会在下篇放出~敬请期待!

后续:

网上找答案的过程依然非常痛苦。但是也容易开拓思路,突然想到为啥非得要将值传出来啊,完全可以直接在block里面进行后续操作啊~所以,我就不费事的找答案了,打算直接在block里进行存储。贴出部分代码

            [manager POST:REG_URL_POST
               parameters:dic
                 progress:^(NSProgress * _Nonnull uploadProgress) {
                     
                 }     success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
                     if(responseObject != nil){
                         
                         self.jsonDic = (NSDictionary *)responseObject;
                         
                         ResponseClientRegistryDto *responseDto = [ResponseClientRegistryDto mj_objectWithKeyValues:self.jsonDic];
                         
                         NSLog(@"clientid:%@,clientkey:%@",responseDto.clientId,responseDto.clientKey);
                         /* 后续执行存储 */
                     }
                     
                 }
                  failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
                      
                      NSLog(@"请求失败,原因为:%@", [error localizedDescription]);
                  }];

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值