接上篇,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]);
}];