您的位置:首页 > 移动开发 > Objective-C

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

2016-08-27 11:52 495 查看
接上篇,json与model格式互转已经搞定,非常简单,github下载框架MJExtension即可。

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

[manager POST:REG_URL_POST
parame
4000
ters: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]);
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: